узел и nodejs имеют другую версию

Я успешно обновляю/устанавливаю последнюю версию узла js при помощи тех команд (чиновник curl путь, не работающий на меня):

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node

Однако версия моего узла и nodejs становится отличающейся:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

Кажется, что новый узел установлен в /usr/local/bin/node, таким образом, я попробовал:

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

Но это возвращается:

ln: failed to create symbolic link ‘/usr/local/bin/node’: File exists

Я также использую эту ссылку:

$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists

Я буду использовать некоторые платформы, которые зависят от node, как Ionic. Какую версию узла это будет использовать?

Что я должен сделать для решения этого?

Большое спасибо за Вашу справку

15
задан 7 November 2015 в 09:29

3 ответа

Ошибка:

ln: failed to create symbolic link ‘/usr/bin/node’: File exists

обычно вызывается, когда у Вас действительно есть две версии Nodej, с псевдонимом node и другой с эти nodejs псевдоним, как мы видим на результате команд node --version и nodejs --version:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

, таким образом, Вы не можете создать символьную ссылку для файла, который уже существует.

Для решения этого необходимо полностью удалить эти два использования пакетов:

sudo apt-get purge node
sudo apt-get purge nodejs
sudo rm -rf bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node

и переустанавливают только nodejs пакет с помощью команды:

sudo apt-get install nodejs

и создают использование символьной ссылки:

ln -s /usr/bin/nodejs /usr/bin/node

или установка nodejs-legacy, который разрешит эту проблему с командой:

sudo apt-get install nodejs-legacy 
5
ответ дан 23 November 2019 в 02:47

Для меня эти node командой является NodeJS, установленный nvm и nodejs, командой является NodeJS, установленный с помощью apt-get

0
ответ дан 23 November 2019 в 02:47

Шаги, которые решили ту же проблему для меня:

sudo apt-get remove nodejs
sudo ln -s /usr/bin/node /usr/bin/nodejs

Объяснение

Вы установили две версии nodejs на Вашем компьютере, таким образом, необходимо удалить одного из них. Ваша ситуация:

node v5.0.0 - you will keep this one
nodejs v0.10.25 - this you can remove

Можно удалить nodejs пакет через apt-get remove команда. Это также удалит файл /usr/bin/nodejs и Вы не получите свое сообщение об ошибке снова.

Теперь можно создать символьную ссылку, названную "/usr/bin/nodejs", который указывает на источнике "/usr/local/bin/node". В Вашем примере у Вас есть неправильный порядок путей "от" и "до"

sudo ln -s source_file myfile

Больше информации о создании ссылок: Как работы символьных ссылок

12
ответ дан 23 November 2019 в 02:47

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

Похожие вопросы: