
Я успешно обновил/установил последнюю версию 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