我已按照以下链接中显示的说明进行操作,但无法在 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。
资料来源:
答案1
我看到的问题是,该系统之前已从 nodesource 安装了 nodejs 9.x,并且 nodesource 安装脚本和系统管理员在尝试安装 nodejs 10 之前都没有删除它及其 repo。
更糟糕的是,脚本实际上忽略了这个问题并试图继续执行,尽管这根本行不通。(这个问题应该报告给其维护者。)
要修复此问题,首先删除提供 nodejs 9.x 的 yum repo,然后再次运行 nodejs 10.x 的安装脚本。
yum remove $(rpm -qf /etc/yum.repos.d/nodesource.repo)
这应该足以清理系统,以便尝试安装 nodejs 10.x 能够成功。
答案2
NodeJs 10 在 RHEL7 中不受原生支持(在 RHEL8 中受支持)。您可以尝试手动安装CentOS 7 版本
答案3
删除提供 node.js v9.x 或更早版本的 yum repo 后,您需要运行此命令来清除 yum 缓存:
sudo yum clean all && sudo yum makecache fast
最后:
sudo yum 安装-y nodejs