sdetweil / MagicMirror_scripts

Magic Mirror installation and setup scripts
374 stars 64 forks source link

Install script ./raspberry.sh error #83

Closed fhu123 closed 7 months ago

fhu123 commented 10 months ago

Hi there,

have some problems to install MM via istall script. I have a rasperry pi zero with latest standard Rasbian installation include desktop environment. PI user exists and i get an error during compiling and it stops sudden.

/raspberry.sh: line 495: [: -ge: unary operator expected

What is wrong with the parameter or what is missing?

TIA Frank

sdetweil commented 10 months ago

can u tell me the output of

node -v npm -v

for pi 0w, you must use the legacy image

sdetweil commented 10 months ago

I just pushed a fix for this.. remove the MagicMirror folder

cd ~
rm -rf MagicMirror

then run install again,

BUT you need to use the legacy image for pi0w this page https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-legacy

this image, or with recommended software.. not the lite image Raspberry Pi OS (Legacy) with desktop

fhu123 commented 10 months ago

THX !!

OK, short update. After a complete new installation it seems to be working now!!!!

pi@frame:~/MagicMirror_scripts $ node -v v21.0.0 pi@frame:~/MagicMirror_scripts $ npm -v 10.2.0

Last but not least, my Midori Browser shows me the localhost searchbar on the screen. How can i fix this?

BR Frank

sdetweil commented 10 months ago

Midori is a pain in the rear. it documents how to disable the search bar but then doesn't do it.
that's why someone added the other browser

mleppanen commented 10 months ago

Hello,

I have been lately struggling with the same problem. Good that the script is fixed. However, it seems that I get a broken version of node. I start with the configuration like this:

marko@mirror:~ $ npm -v
7.5.2
marko@mirror:~ $ node -v
v12.22.12
marko@mirror:~ $ cat /sys/firmware/devicetree/base/model
Raspberry Pi Model B Plus Rev 1.2
marko@mirror:~ $ uname -a
Linux mirror 6.1.21+ #1642 Mon Apr  3 17:19:14 BST 2023 armv6l GNU/Linux
marko@mirror:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

and if I run the script, it ends up updating node

$$\      $$\                     $$\           $$\      $$\ $$\                                          $$$$$$\
$$$\    $$$ |                    \__|          $$$\    $$$ |\__|                                        $$  __$$\
$$$$\  $$$$ | $$$$$$\   $$$$$$\  $$\  $$$$$$$\ $$$$\  $$$$ |$$\  $$$$$$\   $$$$$$\   $$$$$$\   $$$$$$\  \__/  $$ |
$$\$$\$$ $$ | \____$$\ $$  __$$\ $$ |$$  _____|$$\$$\$$ $$ |$$ |$$  __$$\ $$  __$$\ $$  __$$\ $$  __$$\  $$$$$$  |
$$ \$$$  $$ | $$$$$$$ |$$ /  $$ |$$ |$$ /      $$ \$$$  $$ |$$ |$$ |  \__|$$ |  \__|$$ /  $$ |$$ |  \__|$$  ____/
$$ |\$  /$$ |$$  __$$ |$$ |  $$ |$$ |$$ |      $$ |\$  /$$ |$$ |$$ |      $$ |      $$ |  $$ |$$ |      $$ |
$$ | \_/ $$ |\$$$$$$$ |\$$$$$$$ |$$ |\$$$$$$$\ $$ | \_/ $$ |$$ |$$ |      $$ |      \$$$$$$  |$$ |      $$$$$$$$\
\__|     \__| \_______| \____$$ |\__| \_______|\__|     \__|\__|\__|      \__|       \______/ \__|      \________|
                       $$\   $$ |
                       \$$$$$$  |
                        \______/

install log being saved to /home/marko/install.log
Updating packages ...
[         <=>                                                                                                          ]
Installing helper tools ...
Check current Node installation ...
Node currently installed. Checking version number.
Minimum Node version: v20.8.0
Installed Node version: v12.22.12
Node should be upgraded.
Installing Node.js ...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gyp libc-ares2 libfuse2 libjs-highlight.js libjs-inherits libjs-is-typedarray libjs-psl libjs-typedarray-to-buffer
  libssl-dev libuv1-dev node-abbrev node-agent-base node-ajv node-ansi node-ansi-regex node-ansi-styles
  node-ansistyles node-aproba node-archy node-are-we-there-yet node-asap node-asn1 node-assert-plus node-asynckit
  node-aws-sign2 node-aws4 node-balanced-match node-bcrypt-pbkdf node-brace-expansion node-builtins node-cacache
  node-caseless node-chalk node-chownr node-clone node-color-convert node-color-name node-colors node-columnify
  node-combined-stream node-concat-map node-console-control-strings node-copy-concurrently node-core-util-is
  node-dashdash node-debug node-defaults node-delayed-stream node-delegates node-depd node-ecc-jsbn node-encoding
  node-err-code node-escape-string-regexp node-extend node-extsprintf node-fast-deep-equal node-forever-agent
  node-form-data node-fs-write-stream-atomic node-fs.realpath node-function-bind node-gauge node-getpass node-glob
  node-graceful-fs node-har-schema node-har-validator node-has-flag node-has-unicode node-hosted-git-info
  node-http-signature node-https-proxy-agent node-iconv-lite node-iferr node-imurmurhash node-indent-string
  node-inflight node-inherits node-ini node-ip node-ip-regex node-is-typedarray node-isarray node-isexe node-isstream
  node-jsbn node-json-parse-better-errors node-json-schema node-json-schema-traverse node-json-stable-stringify
  node-json-stringify-safe node-jsonify node-jsonparse node-jsonstream node-jsprim node-leven node-lockfile
  node-lru-cache node-mime node-mime-types node-minimatch node-mkdirp node-move-concurrently node-ms node-mute-stream
  node-nopt node-normalize-package-data node-npm-bundled node-npm-package-arg node-npmlog node-number-is-nan
  node-oauth-sign node-object-assign node-once node-opener node-osenv node-p-map node-path-is-absolute
  node-performance-now node-process-nextick-args node-promise-inflight node-promise-retry node-promzard node-psl
  node-puka node-punycode node-qs node-read node-read-package-json node-readable-stream node-request node-resolve
  node-resolve-from node-retry node-rimraf node-run-queue node-safe-buffer node-semver node-set-blocking
  node-signal-exit node-slash node-spdx-correct node-spdx-exceptions node-spdx-expression-parse node-spdx-license-ids
  node-sshpk node-ssri node-string-decoder node-string-width node-strip-ansi node-supports-color node-tar
  node-text-table node-through node-tough-cookie node-tunnel-agent node-tweetnacl node-typedarray-to-buffer
  node-unique-filename node-universalify node-uri-js node-util-deprecate node-uuid node-validate-npm-package-license
  node-validate-npm-package-name node-verror node-wcwidth.js node-which node-wide-align node-wrappy
  node-write-file-atomic node-yallist
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  libnode-dev libnode72 node-gyp nodejs-doc npm
The following packages will be upgraded:
  nodejs
1 upgraded, 0 newly installed, 5 to remove and 0 not upgraded.
Need to get 22.7 MB of archives.
After this operation, 104 MB of additional disk space will be used.
Get:1 https://deb.nodesource.com/node_20.x nodistro/main armhf nodejs armhf 20.11.0-1nodesource1 [22.7 MB]
Fetched 22.7 MB in 16s (1,385 kB/s)
apt-listchanges: Reading changelogs...
(Reading database ... 110528 files and directories currently installed.)
Removing npm (7.5.2+ds-2) ...
Removing node-gyp (7.1.2-4) ...
Removing libnode-dev (12.22.12~dfsg-1~deb11u4) ...
Removing nodejs-doc (12.22.12~dfsg-1~deb11u4) ...
dpkg: libnode72:armhf: dependency problems, but removing anyway as you requested:
 nodejs depends on libnode72 (= 12.22.12~dfsg-1~deb11u4).

Removing libnode72:armhf (12.22.12~dfsg-1~deb11u4) ...
(Reading database ... 109382 files and directories currently installed.)
Preparing to unpack .../nodejs_20.11.0-1nodesource1_armhf.deb ...
Unpacking nodejs (20.11.0-1nodesource1) over (12.22.12~dfsg-1~deb11u4) ...
Setting up nodejs (20.11.0-1nodesource1) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u7) ...
Processing triggers for man-db (2.9.4-2) ...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
nodejs is already the newest version (20.11.0-1nodesource1).
The following packages were automatically installed and are no longer required:
  gyp libc-ares2 libfuse2 libjs-highlight.js libjs-inherits libjs-is-typedarray libjs-psl libjs-typedarray-to-buffer
  libssl-dev libuv1-dev node-abbrev node-agent-base node-ajv node-ansi node-ansi-regex node-ansi-styles
  node-ansistyles node-aproba node-archy node-are-we-there-yet node-asap node-asn1 node-assert-plus node-asynckit
  node-aws-sign2 node-aws4 node-balanced-match node-bcrypt-pbkdf node-brace-expansion node-builtins node-cacache
  node-caseless node-chalk node-chownr node-clone node-color-convert node-color-name node-colors node-columnify
  node-combined-stream node-concat-map node-console-control-strings node-copy-concurrently node-core-util-is
  node-dashdash node-debug node-defaults node-delayed-stream node-delegates node-depd node-ecc-jsbn node-encoding
  node-err-code node-escape-string-regexp node-extend node-extsprintf node-fast-deep-equal node-forever-agent
  node-form-data node-fs-write-stream-atomic node-fs.realpath node-function-bind node-gauge node-getpass node-glob
  node-graceful-fs node-har-schema node-har-validator node-has-flag node-has-unicode node-hosted-git-info
  node-http-signature node-https-proxy-agent node-iconv-lite node-iferr node-imurmurhash node-indent-string
  node-inflight node-inherits node-ini node-ip node-ip-regex node-is-typedarray node-isarray node-isexe node-isstream
  node-jsbn node-json-parse-better-errors node-json-schema node-json-schema-traverse node-json-stable-stringify
  node-json-stringify-safe node-jsonify node-jsonparse node-jsonstream node-jsprim node-leven node-lockfile
  node-lru-cache node-mime node-mime-types node-minimatch node-mkdirp node-move-concurrently node-ms node-mute-stream
  node-nopt node-normalize-package-data node-npm-bundled node-npm-package-arg node-npmlog node-number-is-nan
  node-oauth-sign node-object-assign node-once node-opener node-osenv node-p-map node-path-is-absolute
  node-performance-now node-process-nextick-args node-promise-inflight node-promise-retry node-promzard node-psl
  node-puka node-punycode node-qs node-read node-read-package-json node-readable-stream node-request node-resolve
  node-resolve-from node-retry node-rimraf node-run-queue node-safe-buffer node-semver node-set-blocking
  node-signal-exit node-slash node-spdx-correct node-spdx-exceptions node-spdx-expression-parse node-spdx-license-ids
  node-sshpk node-ssri node-string-decoder node-string-width node-strip-ansi node-supports-color node-tar
  node-text-table node-through node-tough-cookie node-tunnel-agent node-tweetnacl node-typedarray-to-buffer
  node-unique-filename node-universalify node-uri-js node-util-deprecate node-uuid node-validate-npm-package-license
  node-validate-npm-package-name node-verror node-wcwidth.js node-which node-wide-align node-wrappy
  node-write-file-atomic node-yallist
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Node.js installation Done! version=
Check current NPM installation ...
NPM currently installed. Checking version number.
Minimum npm version: V10.1.0
Installed npm version: V
npm should be upgraded.
Installing npm ...
E: Unable to correct problems, you have held broken packages.
bash: line 431:  4653 Illegal instruction     sudo npm i -g npm@${NPM_TESTED:1:1} >> $logfile
npm installation Done! version=V
Cloning MagicMirror ...
Cloning into 'MagicMirror'...
remote: Enumerating objects: 380, done.
remote: Counting objects: 100% (380/380), done.
remote: Compressing objects: 100% (313/313), done.
remote: Total 380 (delta 66), reused 211 (delta 53), pack-reused 0
Receiving objects: 100% (380/380), 431.25 KiB | 599.00 KiB/s, done.
Resolving deltas: 100% (66/66), done.
Cloning MagicMirror Done!
Installing dependencies ...
bash: line 505: [: -ge: unary operator expected
Unable to install dependencies!

marko@mirror:~ $ npm -v
Illegal instruction
`
sdetweil commented 10 months ago

can you attach

/home/marko/install.log

armv6l devices are becoming harder and harder to support..

the code should not have done

>Get:1 https://deb.nodesource.com/node_20.x nodistro/main armhf nodejs armhf 20.11.0-1nodesource1 [22.7 MB]

that got the armv7l image

fhu123 commented 10 months ago

You have to get node.js from an unofficial repo, like this:

wget https://unofficial-builds.nodejs.org/download/release/v21.6.0/node-v21.6.0-linux-armv6l.tar.gz tar -xvf node-v21.6.0-linux-armv6l.tar.gz sudo cp -R node-v21.6.0-linux-armv6l/ /usr/local rm -rf node-v21.6.0-linux-armv6l/

reboot node -v npm -v 10.2 >-= update npm update

bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"

npm install -g npm@10.3.0

pi@frame:~ $ bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"

$$\ $$\ $$\ $$\ $$\ $$\ $$$$$$\ $$$\ $$$ | _| $$$\ $$$ |_| $$ $$\ $$$$\ $$$$ | $$$$$$\ $$$$$$\ $$\ $$$$$$$\ $$$$\ $$$$ |$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ _/ $$ | $$\$$\$$ $$ | __$$\ $$ $$\ $$ |$$ __|$$\$$\$$ $$ |$$ |$$ $$\ $$ $$\ $$ $$\ $$ $$\ $$$$$$ | $$ \$$$ $$ | $$$$$$$ |$$ / $$ |$$ |$$ / $$ \$$$ $$ |$$ |$$ | _|$$ | _|$$ / $$ |$$ | __|$$ __/ $$ |\$ /$$ |$$ $$ |$$ | $$ |$$ |$$ | $$ |\$ /$$ |$$ |$$ | $$ | $$ | $$ |$$ | $$ | $$ | _/ $$ |\$$$$$$$ |\$$$$$$$ |$$ |\$$$$$$$\ $$ | _/ $$ |$$ |$$ | $$ | \$$$$$$ |$$ | $$$$$$$$\ _| _| ___| _$$ |_| _____|_| _|_|_| _| _____/ _| ___| $$\ $$ | \$$$$$$ | \/

install log being saved to /home/pi/install.log Updating packages ... [ <=> ] Installing helper tools ... Check current Node installation ... Node currently installed. Checking version number. Minimum Node version: v20.8.0 Installed Node version: v21.0.0 No Node.js upgrade necessary. Check current NPM installation ... NPM currently installed. Checking version number. Minimum npm version: V10.1.0 Installed npm version: V10.3.0 No npm upgrade necessary. Cloning MagicMirror ... Cloning into 'MagicMirror'... remote: Enumerating objects: 380, done. remote: Counting objects: 100% (380/380), done. remote: Compressing objects: 100% (314/314), done. remote: Total 380 (delta 66), reused 212 (delta 52), pack-reused 0 Receiving objects: 100% (380/380), 431.25 KiB | 845.00 KiB/s, done. Resolving deltas: 100% (66/66), done. Cloning MagicMirror Done! Installing dependencies ... Dependencies installation Done! setting up initial config.js Check plymouth installation ... Splashscreen: Checking themes directory. Splashscreen: Create theme directory if not exists.

Splashscreen: Changed theme to MagicMirror successfully. Do you want to disable the screen saver? (y/N)?y Do you want use pm2 for auto starting of your MagicMirror (y/N)?y install and setup pm2

sdetweil commented 10 months ago

yes, I know.. but I check by calling the old installer, and it returns a message of 'no longer supported'

but they changed the message to 'unsupported'

so, my code failed... changed 2 weeks ago.. it looks like always something..

sdetweil commented 10 months ago

if you want to try it again.. delete node and npm, run hash -r and delete the MagicMirror folder too..

also, chromium is no longer supported on armv6l, so you have to use one of the other browsers..

fhu123 commented 10 months ago

Which one of these Browsers can BE installed and where, in which File config?

sam detweiler @.***> schrieb am Mo., 22. Jan. 2024, 18:28:

if you want to try it again.. delete node and npm, run hash -r and delete the MagicMirror folder too..

also, chromium is no longer supported on armv6l, so you have to use one of the other browsers..

— Reply to this email directly, view it on GitHub https://github.com/sdetweil/MagicMirror_scripts/issues/83#issuecomment-1904474525, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4OTYIZNBTCY5UMTHHWBENDYP2OSHAVCNFSM6AAAAABCD5WCSSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBUGQ3TINJSGU . You are receiving this because you authored the thread.Message ID: @.***>

sdetweil commented 10 months ago

I just installed Midori on my pi0w

sudo apt install Midori

and added

export external_browser=midori

in the ~/MagicMirror/installers/mm.sh before the npm start line

first time it comes up you have to manually disable the address bar..

I haven't tried the push browser or Firefox in a while

sdetweil commented 7 months ago

I'm closing this as I think it is resolved..

please reopen if not