node и nodejs имеют разные версии

node и nodejs имеют разные версии

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

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

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

решение1

Действия, которые решили ту же проблему для меня:

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". В вашем примере неправильный порядок путей "from" и "to"

sudo ln -s source_file myfile

Дополнительная информация о создании ссылок:Как работают символические ссылки

решение2

Ошибка:

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

обычно возникает, когда у вас действительно есть две версии Node.js, одна с псевдонимом , 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 

решение3

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

Связанный контент