Назад | Перейти на главную страницу

RHEL7 - установить NodeJS 10?

Я выполнил инструкции, показанные по ссылкам ниже, но мне не удается установить NodeJS v10 на RHEL7.

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.

Источники:

Проблема, которую я вижу, заключается в том, что в этой системе ранее был установлен nodejs 9.x из nodejsource, и ни скрипт настройки nodejsource, ни системный администратор не удалили его и его репозиторий перед попыткой установки nodejs 10.

Хуже того, сценарий фактически игнорирует эту проблему и все равно пытается продолжить, несмотря на то, что это не может работать. (Об этой проблеме следует сообщить обслуживающему персоналу.)

Чтобы решить эту проблему, сначала удалите репозиторий yum, предоставляющий nodejs 9.x, а затем снова запустите сценарий установки для nodejs 10.x.

yum remove $(rpm -qf /etc/yum.repos.d/nodesource.repo)

Это должно достаточно очистить систему, чтобы попытка установить nodejs 10.x завершилась успешно.

После удаления репозитория yum, который предоставил node.js v9.x или более раннюю версию, вам необходимо выполнить эту команду, чтобы очистить кеш yum:

sudo yum очистить все && sudo yum makecache быстро

а потом наконец:

sudo yum install -y nodejs

NodeJs 10 изначально не поддерживается в RHEL7 (он поддерживается в RHEL8). Вы можете попробовать установить вручную CentOS 7 версия