Inkonsistenzen mit welchem ​​Befehl

305
Dan Prince

Ich verwende das n- Tool, um meine aktuelle Version des Knotens zu aktualisieren, aber etwas Seltsames passiert.

Ich lief, sudo n latestwas theoretisch die neueste Version von Node abruft ( v0.12.0und installiert es irgendwo auf meinem bereits $PATH.

Jedoch läuft node -vzeigt v0.10.25. Ich nahm an, dass sich irgendwo auf meinem Weg eine andere Version des Knotens exe befand.

which nodezeigt /usr/local/bin/node.

$ cd /usr/local/bin/node $ node -v v0.10.25 $ ./node -v v0.12.0 

Es ist da und installiert und /usr/local/binist auf meiner $PATH.

In welchem ​​Fall würde whichauf die falsche Binärdatei verweisen?

Ich habe bash neu gestartet und sichergestellt, dass es keine Binärdateien für Dud-Knoten in /binoder gibt /usr/bin. Es wurde auch sichergestellt, dass es kein Symlink ist.

$ ls -lah | grep node -rwxr-xr-x 1 root root 20M Feb 14 14:56 node 

Und das war definitiv ein Binärcode.

$ file node node: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped 

Ideen?

1

1 Antwort auf die Frage

1
Dan Prince

Sie suchen nach komplizierten Lösungen und Sie vermissen das offensichtliche Offensichtliche.

Ich wechselte, um zshzu sehen, ob das Problem mit bash war. Die Knotenversion war korrekt.

Ich hatte alias node=nodejsin ~/.bash_aliases...

Obivously whichberücksichtigt das nicht. Ich denke, es gab ein Problem mit dem apt-get-Paket für Node mit Ubuntu, das nicht nodejsBinärdateien erstellte node. Offensichtlich hatte ich es eher als Alias ​​verlegt.

Lektion gelernt.