GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Node.js-Konflikte:/sbin/node Vs /usr/bin/node?

Ich habe zwei Ubuntu 12.10-Maschinen:Maschine A ist eine VMWare-VM und Maschine B ist ein alter Acer-Laptop. Auf beiden Maschinen habe ich node mit apt-get installiert. Maschine A installiert jedoch die Hauptbinärdatei als /usr/bin/node und Maschine B als /usr/bin/nodejs . Hier sind einige Verhaltensweisen, die ich beobachtet habe:

  1. Beide Maschinen geben /usr/bin/node zurück als Antwort auf den which node Befehl. Es gibt jedoch keine solche Datei auf Maschine B.
  2. Ausgeben des Befehls node funktioniert für Maschine A, nicht für B. Auf B muss ich nodejs verwenden stattdessen.
  3. Auf B gibt es eine Binärdatei namens /sbin/node, A hat sie nicht.

Dieses Verhalten führt zu Inkonsistenzproblemen bei der Entwicklung auf beiden Computern. Im Moment habe ich das Problem gelöst, indem ich die Binärdateien auf B wie folgt umbenannt habe:

sudo mv /sbin/node /sbin/node-sbin
sudo ln -s /usr/bin/nodejs /usr/bin/node

Gibt es eine Möglichkeit, dies wirklich zu beheben, sodass dieser Knoten als /usr/bin/node installiert wird statt /usr/bin/nodejs ?

Beste Antwort

Unter Ubuntu 13.10 haben alle obigen Antworten bei mir nicht funktioniert.
Es hat endlich funktioniert, als ich nodejs-legacy installiert habe

sudo apt-get install nodejs-legacy

Dadurch wurde /usr/bin/node korrekt bereitgestellt für mich, damit z. g. nodemon verwendet werden.


Ubuntu
  1. Warum zeigt /bin/sh auf /bin/dash und nicht auf /bin/bash?

  2. Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

  3. Berechtigung für Composer in /usr/local/bin/ verweigert

  4. cmake --version zeigt auf /usr/bin/cmake, während cmake auf /usr/local/bin zeigt

  5. Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

/usr/bin vs. /usr/local/bin Unter Linux?

Bash =~ Regex und Https://regex101.com/?

Linux – /sbin/init existiert nicht?

Warum andere Dinge als /home auf eine separate Partition legen?

Unterschied zwischen /bin und /usr/bin

#!/bin/sh vs. #!/bin/bash für maximale Portabilität