我已按照以下链接中显示的说明进行操作,但无法在 RHEL7 上安装 NodeJS v10。
curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -
yum install nodejs
我收到以下消息:
## Installing the NodeSource Node.js 10.x repo...
## Inspecting system...
+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m
## Confirming "el7-x86_64" is supported...
+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_10.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
## Downloading release setup RPM...
+ mktemp
+ curl -sL -o '/tmp/tmp.p7C7NIfygt' 'https://rpm.nodesource.com/pub_10.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
## Installing release setup RPM...
+ rpm -i --nosignature --force '/tmp/tmp.p7C7NIfygt'
warning: /etc/yum.repos.d/nodesource-el7.repo created as /etc/yum.repos.d/nodesource-el7.repo.rpmnew
## Cleaning up...
+ rm -f '/tmp/tmp.p7C7NIfygt'
## Checking for existing installations...
+ rpm -qa 'node|npm' | grep -v nodesource
## Run `sudo yum install -y nodejs` to install Node.js 10.x and npm.
## You may also need development tools to build native addons:
sudo yum install gcc-c++ make
## To install the Yarn package manager, run:
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn
Package matching 1:nodejs-6.16.0-1.el7.x86_64 already installed. Checking for update.
Nothing to do
并yum --showduplicates list nodejs |expand
显示:
Installed Packages
nodejs.x86_64 2:9.6.0-1nodesource @nodesource
Available Packages
nodejs.x86_64 1:6.12.2-1.el7 localepel
nodejs.x86_64 1:6.12.3-1.el7 localepel
nodejs.x86_64 1:6.14.0-1.el7 localepel
nodejs.x86_64 1:6.14.2-1.el7 localepel
nodejs.x86_64 1:6.14.3-1.el7 localepel
nodejs.x86_64 1:6.16.0-1.el7 localepel
并node -v
显示:
v9.6.0
无论我做什么,我似乎都无法安装 v10。
资料来源:
我看到的问题是该系统以前从 nodesource 安装了 nodejs 9.x,并且在尝试安装 nodejs 10 之前,nodesource 设置脚本和系统管理员都没有删除它及其存储库。
更糟糕的是,脚本实际上忽略了这个问题,并试图继续前进,尽管它不可能工作。(这个问题应该报告给它的维护者。)
要解决此问题,请先删除提供 nodejs 9.x 的 yum repo,然后再次运行 nodejs 10.x 的安装脚本。
这应该足以清理系统,以便尝试安装 nodejs 10.x 将成功。
RHEL7 本身不支持 NodeJs 10(它在 RHEL8 中受支持)。可以尝试手动安装一个CentOS 7 版本
删除提供 node.js v9.x 或更早版本的 yum 存储库后,您需要运行以下命令来清除 yum 缓存:
最后: