node & nodejs имеют другую версию

7

Я успешно обновляю / устанавливаю последнюю версию узла 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 . Какую версию узла он будет использовать?

Что я должен сделать, чтобы решить эту проблему?

Большое спасибо за вашу помощь

    
задан Blaze Tama 07.11.2015 в 16:29
источник

2 ответа

5

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

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

Подробнее о создании ссылок: Как работают символические ссылки

    
ответ дан areim 18.01.2016 в 16:07
3

Ошибка:

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

обычно возникает, когда у вас действительно есть две версии Nodejs, a с псевдонимом 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 
    
ответ дан coderade 09.12.2015 в 10:50