Несоответствия с какой командой

Я использую инструмент 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, Очевидно, я бы назвал это псевдонимом, а не символическими ссылками.

Урок выучен.

Другие вопросы по тегам