Как установить node.js - PullRequest
       25

Как установить node.js

0 голосов
/ 29 октября 2019

Я сделал следующее:

user@machine:~$ sudo n stable
   installed : v12.13.0 (with npm 6.12.0)
user@machine:~$ node --version
v8.10.0
user@machine:~$ which node
/usr/local/bin/node
user@machine:~$ /usr/local/bin/node --version
v12.13.0

Я ожидал установки v12.13.0, но node --version показывает v8.10.0.

Что я сделал не так? Как мне установить v12.13.0? К вашему сведению, я работаю на Jetson Nano и на самом деле просто пытаюсь установить LTS Nodejs и не знаю как.

Кстати, если я сделаю sudo apt-get install nodejs, я получу только v8.10.0.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

user@machine:~$ node --version
v8.10.0
user@machine:~$ sudo node --version
v12.13.0

Кажется, sudo как-то влияет на это?

(я не очень знаком с linux, но я учусь... извините, если мне не хватает "очевидных" вещей.)

Ответы [ 4 ]

1 голос
/ 29 октября 2019

Я обошел проблему, отказавшись от использования n .

Вот как установить напрямую с dist на nodejs.org.

wget https://nodejs.org/dist/v12.10.0/node-v12.13.0-linux-arm64.tar.gz
sudo tar -xf node-v12.13.0-linux-arm64.tar.gz --directory /usr/local --strip-components 1
0 голосов
/ 30 октября 2019

1) Попробуйте открыть новую оболочку и проверить, какую версию узла вы видите там.

n устанавливает двоичный файл узла по умолчанию в /usr/local/bin/node. Возможно, вы уже установили двоичный файл узла на /usr/bin/node, и ваш кеш оболочки известных команд (путей) может быть запущен старой.

Пример проблемы с bash: https://github.com/tj/n/issues/588

2) Если ваша ОС имеет команду, вы можете запустить which -a node, чтобы увидеть, есть ли у вас несколько версий и где они установлены. (Удаление тех, которые вам не нужны, снижает вероятность путаницы.)

3) Убедитесь, что местоположение предполагаемой версии находится в вашем PATH. Если вы используете n, попробуйте запустить n doctor. Существуют дополнительные проверки, что найденная версия узла - это та, которая установлена ​​n.

0 голосов
/ 29 октября 2019

Не могу комментировать, но попробуйте заменить /usr/bin/node символической ссылкой на /usr/local/bin/node. Некоторое время назад была похожая проблема, которая съела мой мозг. Решил это вот так.

PS не забудьте сделать резервную копию

0 голосов
/ 29 октября 2019

Это очень странно ...

Не могли бы вы что-нибудь попробовать?

mv /usr/local/bin/node /usr/local/bin/node.back
which node
mv /usr/local/bin/node.back /usr/local/bin/node

Я просто хочу посмотреть, что выдаст which, если вы удалите старый двоичный файл версии узла.

Также предоставьте больше информации о файле /usr/local/bin/node, это символическая ссылка? Если правда, к чему?

...