Несоответствия с какой командой
Я использую инструмент n, чтобы обновить мою текущую версию узла, но происходит нечто странное.
Я побежал sudo n latest
который теоретически выбирает последнюю версию Node (v0.12.0
и устанавливает его где-то, что уже на моем $PATH
,
Тем не менее, работает node -v
шоу v0.10.25
, Я подумал, что где-то на моем пути была другая версия exe-узла.
which node
шоу /usr/local/bin/node
,
$ cd /usr/local/bin/node
$ node -v
v0.10.25
$ ./node -v
v0.12.0
Он там и установлен и /usr/local/bin
на моем $PATH
,
В каком случае which
указать на неправильный двоичный файл?
Я перезапустил bash и убедился, что в нем нет двоичных файлов /bin
или же /usr/bin
, Также убедился, что это не символическая ссылка.
$ ls -lah | grep node
-rwxr-xr-x 1 root root 20M Feb 14 14:56 node
И это определенно был бинарный файл.
$ 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
Идеи?
1 ответ
Вы ищете сложные решения, и вы упускаете очевидное.
Я переключился на zsh
чтобы увидеть, была ли проблема с bash. Версия узла была правильной.
я имел alias node=nodejs
в ~/.bash_aliases
...
Obivously which
не принимает это во внимание. Я думаю, что была какая-то проблема с пакетом apt-get для Node с Ubuntu, который создал nodejs
двоичные файлы, а не node
, Очевидно, я бы назвал это псевдонимом, а не символическими ссылками.
Урок выучен.