Я успешно обновляю/устанавливаю последнюю версию узла 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
. Какую версию узла это будет использовать?
Что я должен сделать для решения этого?
Большое спасибо за Вашу справку
Ошибка:
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
Для меня эти node
командой является NodeJS, установленный nvm
и nodejs
, командой является NodeJS, установленный с помощью apt-get
Шаги, которые решили ту же проблему для меня:
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
Больше информации о создании ссылок: Как работы символьных ссылок