1

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

$ 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 ответ1

1

Вы ищете сложные решения, и вы упускаете очевидное.

Я переключился на zsh чтобы увидеть, была ли проблема с bash. Версия узла была правильной.

У меня был alias node=nodejs в ~/.bash_aliases ...

Очевидно, which это не учитывается. Я думаю, что была некоторая проблема с пакетом apt-get для Node с Ubuntu, который создавал двоичные файлы nodejs а не node . Очевидно, я бы назвал это псевдонимом, а не символической ссылкой.

Урок выучен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .