按照http://davidwalsh.name/upgrade-nodejs上的说明,升级 RedHat Fedora 16 服务器上的 Node.js,我收到错误...
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 后,我可以删除原始(重命名)目录。