Я успешно обновляю / устанавливаю последнюю версию узла 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
. Какую версию узла он будет использовать?
Что я должен сделать, чтобы решить это?
Большое спасибо за твою помощь
nodejs
иnode
в двоичном виде установленный на п. И если n не в состоянии сделать это, каков современный подход? В рабочей среде это очень подвержено ошибкам, если nodejs и узел обращаются к разным версиям nodejs.Ответы:
Шаги, которые решили ту же проблему для меня:
объяснение
Вы установили две версии nodejs на свой компьютер, поэтому вам нужно удалить одну из них. Ваша ситуация:
Вы можете удалить
nodejs
пакет с помощьюapt-get remove
команды. Это также удалит файл,/usr/bin/nodejs
и вы больше не получите сообщение об ошибке.Теперь вы можете создать символическую ссылку с именем "/ usr / bin / nodejs", которая указывает на источник "/ usr / local / bin / node". В вашем примере у вас неправильный порядок путей "от" и "до"
Подробнее о создании ссылок: как работают символические ссылки
источник
Ошибка:
ln: failed to create symbolic link ‘/usr/bin/node’: File exists
обычно вызывается, когда у вас действительно есть две версии Nodejs, a с псевдонимом
node
и другая сnodejs
псевдонимом, как мы видим из результатов командnode --version
иnodejs --version
:поэтому вы не можете создать символическую ссылку для файла, который уже существует.
Для решения этой проблемы вам необходимо полностью удалить два пакета, используя:
и переустановите только
nodejs
пакет, используя команду:и создайте символическую ссылку, используя:
или установите
nodejs-legacy
, чтобы решить эту проблему с помощью команды:источник
Для меня
node
команда является NodeJS установленногоnvm
иnodejs
команда в NodeJS устанавливается с помощьюapt-get
источник