NEWS
NPM spinnt!
-
Naja, lass uns das ganze mal reparieren… Du willst ja schließlich auch bei manueller Eingabe von npm die korrekte Version ausführen.
Führe mal
npm get prefixaus. Sofern das /usr/bin ausgibt, kannst du npm einfach aus dem Ordner /usr/local/bin löschen (nicht den ganzen Ordner!)
Ansonsten musst du zuerst
npm set prefix /usr/binausführen. `
Hallo AlCalzone, hat so nicht funktioniert aber Deine Grundidee hat mich inspiriert ;-)
Habe die beiden npm-Ordner:
/usr/local/lib/node_modules/npm
/usr/lib/node_modules/npm
händisch entfernt:
root@iobroker:~# rm -r /usr/lib/node_modules/npm root@iobroker:~# rm -r /usr/local/lib/node_modules/npmund dann mit:
sudo apt-get --purge remove node sudo apt-get --purge remove nodejs sudo apt-get autoremove sudo reboot curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y build-essential libavahi-compat-libdnssd-dev libudev-dev nodejs rebootabgeschlossen.
Jetzt wird ausgespuckt:
root@iobroker:~# node -v v6.13.1 root@iobroker:~# nodejs -v v6.13.1 root@iobroker:~# npm -v 3.10.10 root@iobroker:~#So soll es dann glaube ich auch sein?
-
Streng genommen bringt vor allem die 5 (ab v5.7.1) Vorteile, da npm5 deutlich schneller sein soll. Aber ist kein Muss, ich bin auf meinem Desktop-Rechner auch mit npm3 unterwegs. Die Anleitung hat npm5 bisher außen vor gelassen, da das bis vor kurzem nur Zerstörung mit sich gebracht hat.
-
Hallo,
nur mal der Vollständigkeit halber, da ich mir in der Angelegenheit auch echt den Wolf gesucht hab. Ständig hat mir die "blöde" Konsole wieder eine npm-Version 3.10.1 ausgespuckt. Update gemacht, schön was von 5.71 gelesen. Version aufgerufen: 3.10 … Update wiederholt ... 5.71 ... npm -v ergibt 3.10 ...
Das Ende vom Lied: Es macht einen Unterschied, ob man per "sudo" oder ohne die npm-Befehle absetzt. Nachdem ich das dann irgendwann verstanden hatte, ist jetzt scheinbar auch wirklich 5.71 verfügbar. :roll:
-
Das Ende vom Lied: Es macht einen Unterschied, ob man per "sudo" oder ohne die npm-Befehle absetzt. Nachdem ich das dann irgendwann verstanden hatte, ist jetzt scheinbar auch wirklich 5.71 verfügbar. :roll: `
Gabs fehler bei der Installation ohne sudo? Ansonsten hast du womöglich auch 2 Versionen installiert, ähnlich wie green50?! -
Ich hab mir gestern eine Test-Installation von ioBroker auf Windows 7 zerschossen… (Admin-Update, JS-Controller-, etc. pp. Updates)
Startpunkt von Node/NPM:
c:\iobroker λ npm -v 5.7.1 c:\iobroker λ node -v v6.10.3Beim Neumachen hat es dann mal zig Fehlermeldungen gegeben, ioBroker funktioniert aber:
! ````
c:\iobroker
λ npm install iobroker
! > iobroker@1.1.2 install c:\iobroker\node_modules\iobroker
node lib/prepareSetup.js && node lib/setup.js
! npm WARN invalid config loglevel="notice"
NPM version: 5.7.1
npm version >= 5: disabling package-lock
npm install iobroker.discovery@stable --production --save
npm WARN invalid config loglevel="notice"
! > serialport@4.0.7 install c:\iobroker\node_modules\serialport
node-pre-gyp install --fallback-to-build
! node-pre-gyp info it worked if it ends with ok
node-pre-gyp verb cli [ 'C:\Program Files (x86)\nodejs\node.exe',
node-pre-gyp verb cli 'c:\iobroker\node_modules\serialport\node_modules\node-pre-gyp\bin\node-pre-gyp',
node-pre-gyp verb cli 'install',
node-pre-gyp verb cli '--fallback-to-build' ]
node-pre-gyp info using node-pre-gyp@0.6.32
node-pre-gyp info using node@6.10.3 | win32 | ia32
node-pre-gyp verb command install []
node-pre-gyp info check checked for "c:\iobroker\node_modules\serialport\build\Release\serialport.node" (not found)
node-pre-gyp http GET https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v48-win32-ia32.tar.gz
node-pre-gyp http 200 https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v48-win32-ia32.tar.gz
node-pre-gyp info install unpacking obj/
node-pre-gyp info install unpacking obj/serialport/
node-pre-gyp info install unpacking obj/serialport/serialport.obj
node-pre-gyp info install unpacking obj/serialport/serialport.tlog/
node-pre-gyp info install unpacking obj/serialport/serialport.tlog/CL.read.1.tlog
node-pre-gyp info install unpacking obj/serialport/serialport.tlog/cl.command.1.tlog
node-pre-gyp info install unpacking obj/serialport/serialport.tlog/cl.write.1.tlog
node-pre-gyp info install unpacking obj/serialport/serialport.tlog/link.command.1.tlog
node-pre-gyp info install unpacking obj/serialport/serialport.tlog/link.read.1.tlog
node-pre-gyp info install unpacking obj/serialport/serialport.tlog/link.write.1.tlog
node-pre-gyp info install unpacking obj/serialport/serialport.tlog/serialport.lastbuildstate
node-pre-gyp info install unpacking obj/serialport/serialport.tlog/serialport.write.1u.tlog
node-pre-gyp info install unpacking obj/serialport/serialport_win.obj
node-pre-gyp info install unpacking obj/serialport/vc120.pdb
node-pre-gyp info install unpacking obj/serialport/win_delay_load_hook.obj
node-pre-gyp info install unpacking serialport.exp
node-pre-gyp info install unpacking serialport.lib
node-pre-gyp info install unpacking serialport.map
node-pre-gyp info install unpacking serialport.node
node-pre-gyp info install unpacking serialport.pdb
node-pre-gyp info tarball done parsing tarball
node-pre-gyp info validate Running test command: 'C:\Program Files (x86)\nodejs\node.exe --eval 'require('c:/iobroker/node_modules/serialport/build/Release/serialport.node')''
[serialport] Success: "c:\iobroker\node_modules\serialport\build\Release\serialport.node" is installed via remote
node-pre-gyp info ok
npm notice created a lockfile as package-lock.json. You should commit this file.- iobroker.discovery@1.1.0
added 167 packages from 110 contributors and updated 1 package in 77.685s
packet folder is: c:\iobroker\node_modules\iobroker.discovery | exists: true
npm install iobroker.admin@stable --production --save
npm WARN invalid config loglevel="notice" - iobroker.admin@2.0.9
added 186 packages from 129 contributors in 35.998s
packet folder is: c:\iobroker\node_modules\iobroker.admin | exists: true
npm install iobroker.js-controller@stable --production --save
npm WARN invalid config loglevel="notice"
npm WARN deprecated localhost.daplie.me-certificates@1.3.5: this package has been deprecated
! > unix-dgram@0.2.3 install c:\iobroker\node_modules\unix-dgram
node-gyp rebuild
! c:\iobroker\node_modules\unix-dgram>if not defined npm_config_node_gyp (node "C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Die Projekte in dieser Projektmappe werden nacheinander erstellt. Um eine parallele Erstellung zu erm�glichen, m�ssen Sie den Schalter "/m" hinzuf�gen.
unix_dgram.cc
win_delay_load_hook.cc
..\src\unix_dgram.cc(9): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory [c:\iobroker\node_modules\unix-dgram\build\unix_dgram.vcxproj]
gyp ERR! build error
gyp ERR! stack Error:C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exefailed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd c:\iobroker\node_modules\unix-dgram
gyp ERR! node -v v6.10.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
! > ursa@0.9.4 install c:\iobroker\node_modules\ursa
node-gyp rebuild
! c:\iobroker\node_modules\ursa>if not defined npm_config_node_gyp (node "C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Die Projekte in dieser Projektmappe werden nacheinander erstellt. Um eine parallele Erstellung zu erm�glichen, m�ssen Sie den Schalter "/m" hinzuf�gen.
ursaNative.cc
win_delay_load_hook.cc
LINK : fatal error LNK1181: cannot open input file 'C:\OpenSSL-Win32\lib\libeay32.lib' [c:\iobroker\node_modules\ursa\build\ursaNative.vcxproj]
gyp ERR! build error
gyp ERR! stack Error:C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exefailed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd c:\iobroker\node_modules\ursa
gyp ERR! node -v v6.10.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
! > iobroker.js-controller@1.2.3 install c:\iobroker\node_modules\iobroker.js-controller
node iobroker.js setup first
! creating conf/iobroker.json
object system.certificates created
object system.repositories created
object system.config created
object enum.rooms created
object system.group.user created
object system.group.administrator created
object _design/system created
object system.meta.uuid created
object system.user.admin created
host.User-PC install adapter admin
npm install --production (System call) in "c:/iobroker/node_modules/iobroker.admin"
npm WARN invalid config access=undefined
npm WARN invalid config https-proxy=undefined
npm WARN invalid config Must be a full url with 'http://'
npm WARN invalid config init-author-url=undefined
npm WARN invalid config Must be a full url with 'http://'
npm WARN invalid config loglevel="notice"
npm WARN invalid config proxy=undefined
npm WARN invalid config Must be a full url with 'http://'
npm WARN onload-script failed to require onload script undefined
npm WARN onload-script Error: Cannot find module 'undefined'
npm WARN onload-script at Function.Module._resolveFilename (module.js:469:15)
npm WARN onload-script at Function.Module._load (module.js:417:25)
npm WARN onload-script at Module.require (module.js:497:17)
npm WARN onload-script at require (internal/module.js:20:19)
npm WARN onload-script at cb (c:\iobroker\node_modules\npm\lib\npm.js:289:9)
npm WARN onload-script at c:\iobroker\node_modules\npm\lib\npm.js:382:14
npm WARN onload-script at c:\iobroker\node_modules\npm\lib\config\core.js:82:7
npm WARN onload-script at Array.forEach (native)
npm WARN onload-script at c:\iobroker\node_modules\npm\lib\config\core.js:81:13
npm WARN onload-script at f (c:\iobroker\node_modules\npm\node_modules\once\once.js:25:25)
npm WARN onload-script { Error: Cannot find module 'undefined'
npm WARN onload-script at Function.Module._resolveFilename (module.js:469:15)
npm WARN onload-script at Function.Module._load (module.js:417:25)
npm WARN onload-script at Module.require (module.js:497:17)
npm WARN onload-script at require (internal/module.js:20:19)
npm WARN onload-script at cb (c:\iobroker\node_modules\npm\lib\npm.js:289:9)
npm WARN onload-script at c:\iobroker\node_modules\npm\lib\npm.js:382:14
npm WARN onload-script at c:\iobroker\node_modules\npm\lib\config\core.js:82:7
npm WARN onload-script at Array.forEach (native)
npm WARN onload-script at c:\iobroker\node_modules\npm\lib\config\core.js:81:13
npm WARN onload-script at f (c:\iobroker\node_modules\npm\node_modules\once\once.js:25:25) code: 'MODULE_NOT_FOUND' }
got c:/iobroker/node_modules/iobroker.admin/admin
upload [2] admin.admin c:/iobroker/node_modules/iobroker.admin/admin/words.js words.js application/javascript
upload [1] admin.admin c:/iobroker/node_modules/iobroker.admin/admin/index.html index.html text/html
upload [0] admin.admin c:/iobroker/node_modules/iobroker.admin/admin/admin.png admin.png image/png
host.User-PC object system.adapter.admin created
host.User-PC create instance admin
host.User-PC object admin.0.info created
host.User-PC object system.adapter.admin.upload created
host.User-PC object system.adapter.admin.0.outputCount created
host.User-PC object system.adapter.admin.0.inputCount created
host.User-PC object system.adapter.admin.0.uptime created
host.User-PC object system.adapter.admin.0.memRss created
host.User-PC object system.adapter.admin.0.memHeapTotal created
host.User-PC object system.adapter.admin.0.memHeapUsed created
host.User-PC object system.adapter.admin.0.connected created
host.User-PC object system.adapter.admin.0.alive created
host.User-PC object system.adapter.admin.0 created
host.User-PC install adapter discovery
got c:/iobroker/node_modules/iobroker.discovery/admin
upload [5] discovery.admin c:/iobroker/node_modules/iobroker.discovery/admin/words.js words.js application/javascript
upload [4] discovery.admin c:/iobroker/node_modules/iobroker.discovery/admin/settings_m.html settings_m.html text/html
upload [3] discovery.admin c:/iobroker/node_modules/iobroker.discovery/admin/settings.html settings.html text/html
upload [2] discovery.admin c:/iobroker/node_modules/iobroker.discovery/admin/index_m.html index_m.html text/html
upload [1] discovery.admin c:/iobroker/node_modules/iobroker.discovery/admin/index.html index.html text/html
upload [0] discovery.admin c:/iobroker/node_modules/iobroker.discovery/admin/discovery.png discovery.png image/png
host.User-PC object system.adapter.discovery created
host.User-PC create instance discovery
host.User-PC object discovery.0.scanRunning created
host.User-PC object discovery.0.devicesFound created
host.User-PC object discovery.0.instancesFound created
host.User-PC object discovery.0.servicesProgress created
host.User-PC object discovery.0.devicesProgress created
host.User-PC object system.adapter.discovery.0.outputCount created
host.User-PC object system.adapter.discovery.0.inputCount created
host.User-PC object system.adapter.discovery.0.uptime created
host.User-PC object system.adapter.discovery.0.memRss created
host.User-PC object system.adapter.discovery.0.memHeapTotal created
host.User-PC object system.adapter.discovery.0.memHeapUsed created
host.User-PC object system.adapter.discovery.0.connected created
host.User-PC object system.adapter.discovery.0.alive created
host.User-PC object system.adapter.discovery.0 created
npm WARN npm@2.15.12 had bundled packages that do not match the required version(s). They have been replaced with non-bundled versions.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: unix-dgram@0.2.3 (node_modules\unix-dgram):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: unix-dgram@0.2.3 install:node-gyp rebuild
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ursa@0.9.4 (node_modules\ursa):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ursa@0.9.4 install:node-gyp rebuild
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
! + iobroker.js-controller@1.2.3
added 329 packages from 567 contributors in 624.01s
packet folder is: c:\iobroker\node_modules\iobroker.js-controller | exists: true
Write "iobroker start" to start the ioBroker
npm install https://github.com/arthurblake/node-windows/tarball/f1fd60e93e2469663b99a9cf3a64086ecedfe1e4 --production --save --prefix "c:/iobroker/"
npm WARN invalid config loglevel="notice"
npm WARN unmet dependency c:\iobroker\node_modules\iobroker requires yargs@'^7.0.2' but will load
npm WARN unmet dependency c:\iobroker\node_modules\yargs,
npm WARN unmet dependency which is version 6.6.0
ioBroker service installed. Write "serviceIoBroker start" to start the service and go to http://localhost:8081 to open the admin UI.
To see the outputs do not start the service, but write "node node_modules/iobroker.js-controller/controller"
npm WARN enoent ENOENT: no such file or directory, open 'c:\iobroker\package.json'
npm WARN iobroker No description
npm WARN iobroker No repository field.
npm WARN iobroker No README data
npm WARN iobroker No license field.
! + iobroker@1.1.2
added 47 packages from 23 contributors in 772.336sMich hat dann mal diese Meldung interessiert```` npm WARN invalid config loglevel="notice"Über Google bin ich dann hier gelandet: https://github.com/npm/npm/issues/16862
Und dann ist mir aufgefallen, dass im nodes_modules Verzeichnis ein älteres NPM liegt:
λ npm ls npmlog iobroker.inst@1.1.2 c:\iobroker `-- iobroker.js-controller@1.2.3 `-- npm@2.15.12 +-- node-gyp@3.6.0 | `-- npmlog@2.0.4 deduped +-- npm-install-checks@1.0.7 | `-- npmlog@2.0.4 deduped +-- npm-registry-client@7.2.1 | `-- npmlog@2.0.4 deduped `-- npmlog@2.0.4Soll das so sein?
- iobroker.discovery@1.1.0
-
Und dann ist mir aufgefallen, dass im nodes_modules Verzeichnis ein älteres NPM liegt:
Soll das so sein? `
War mal nötig, ich hab die Abhängigkeit vor kurzem ausgebaut, da es auch die Versionschecks für npm5 verwirrt. Bin mir aber nicht sicher in welcher JS-Controller-Version das dann entfernt wird, dürfte 1.3.0 oder dann die nächste Version werden. -
Das Ende vom Lied: Es macht einen Unterschied, ob man per "sudo" oder ohne die npm-Befehle absetzt. Nachdem ich das dann irgendwann verstanden hatte, ist jetzt scheinbar auch wirklich 5.71 verfügbar. :roll:
Gabs fehler bei der Installation ohne sudo? Ansonsten hast du womöglich auch 2 Versionen installiert, ähnlich wie green50?!Zumindest waren mir keine Fehler aufgefallen. Da ich bis zum Einsatz von ioBroker aber ziemlicher Anfänger in Sachen "Linux" war (und wohl immer noch bin :D ), muss das nix heißen. Aber bis dato hat das alles immer soweit funktioniert. Ist mir tatsächlich auch erst in diesem Zusammenhang hier bewusst geworden, dass ich mit zwei Versionen arbeite.