我正在使用 CentOS 服务器上的 Node v0.10.x,并想要更新 Node.js。因此,按照一些文章进行操作。首先需要卸载当前安装的版本:
# which node
# cd /usr
# rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1
然后检查 node -v 不起作用,很好。但使用 yum 不能安装最新版本的 Node.js,所以我搜索了一些文章并找到了这篇文章:https://www.metachris.com/2015/10/how-to-install-nodejs-5-on-centos-and-ubuntu/
于是我按照以下命令进行操作:
# rpm -Uvh https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm
# yum install nodejs -y
这就是问题所在。它打印了许多错误并且一直失败。
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-4.el6 will be updated
--> Processing Dependency: nodejs(x86-64) = 0.10.42-4.el6 for package: nodejs-devel-0.10.42-4.el6.x86_64
---> Package nodejs.x86_64 0:5.11.1-1nodesource.el7.centos will be an update
--> Running transaction check
---> Package nodejs-devel.x86_64 0:0.10.42-4.el6 will be updated
---> Package nodejs-devel.x86_64 0:5.11.1-1nodesource.el7.centos will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
nodejs x86_64 5.11.1-1nodesource.el7.centos nodesource 8.7 M
Updating for dependencies:
nodejs-devel x86_64 5.11.1-1nodesource.el7.centos nodesource 7.6 M
Transaction Summary
================================================================================
Upgrade 1 Package (+1 Dependent package)
Total size: 16 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction check error:
file /usr/lib/node_modules/npm/node_modules/semver/package.json from install of nodejs-5.11.1-1nodesource.el7.centos.x86_64 conflicts with file from package nodejs-semver-2.1.0-1.el6.noarch
file /usr/lib/node_modules/npm/node_modules/semver/bin/semver from install of nodejs-5.11.1-1nodesource.el7.centos.x86_64 conflicts with file from package nodejs-semver-2.1.0-1.el6.noarch
file /usr/lib/node_modules/npm/node_modules/semver/semver.js from install of nodejs-5.11.1-1nodesource.el7.centos.x86_64 conflicts with file from package nodejs-semver-2.1.0-1.el6.noarch
... and keeps going on ...
在删除节点之前,我还做了以下操作:
# npm cache clean -f
# npm install -g n
# n stable
但这完全没有起作用,因为它总是显示版本0.10.x,即使已经下载了最新的版本!(我看到了6.2.2或类似的版本) 我认为我的服务器出了些问题,但我不知道如何解决。有人能给我一些建议吗?如果可以的话,我想安装最新的Node.js。
yum remove nodejs-semver
... - Knud Larsen