Ошибка при обновлении Node.js через npm
Следуя инструкциям на http://davidwalsh.name/upgrade-nodejs, чтобы обновить Node.js на сервере RedHat Fedora 16, я получаю сообщение об ошибке...
cp: не может перезаписать каталог `/usr/local/bin/node'не каталогом
... и версия узла остается неизменной.
node --version
v0.10.12
# sudo npm cache clean -f
npm WARN using --force I sure hope you know what you are doing.
# sudo npm install -g n
npm http GET https://registry.npmjs.org/n
npm http 200 https://registry.npmjs.org/n
npm http GET https://registry.npmjs.org/n/-/n-2.0.2.tgz
npm http 200 https://registry.npmjs.org/n/-/n-2.0.2.tgz
/usr/bin/n -> /usr/lib/node_modules/n/bin/n
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json range-parser@0.0.4 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm WARN package.json bytes@0.2.0 No repository field.
npm WARN package.json pause@0.0.1 No repository field.
npm WARN package.json eyes@0.1.8 No repository field.
npm WARN package.json eventemitter2@0.4.11 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
n@2.0.2 /usr/lib/node_modules/n
# sudo n stable
install : node-v0.12.7
mkdir : /usr/local/n/versions/node/0.12.7
fetch : https://nodejs.org/dist/v0.12.7/node-v0.12.7-linux-x64.tar.gz
cp: cannot overwrite directory `/usr/local/bin/node' with non-directory
installed : v0.10.12
Это только на тестовом сервере, поэтому нет опасности нарушить работу существующей службы узлов. Какой простой способ заставить узел перейти на 0.12.7?
РЕДАКТИРОВАТЬ: мое решение было переименовать /usr/local/bin/node
затем запустите скрипт taaem node-install.sh. Когда Node.js 0.12.7 был успешно установлен, я мог удалить исходный (переименованный) каталог.
1 ответ
Выполните следующие команды, которые обновят версию узла.
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Пакет n представляет собой помощник Node, и при запуске последней команды узел обновляется до последней стабильной версии.
После завершения установки вы можете подтвердить свою версию другой командой
sudo n 0.8.21