RHEL7——安装 NodeJS 10?

RHEL7——安装 NodeJS 10?

我已按照以下链接中显示的说明进行操作,但无法在 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

相关内容