Я выполнил инструкции, показанные по приведенным ниже ссылкам, но не могу установить 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, и ни скрипт настройки nodejs, ни системный администратор не удалили его и его репозиторий перед попыткой установки nodejs 10.
Хуже того, сценарий на самом деле игнорирует эту проблему и все равно пытается продолжить, несмотря на то, что это не может работать. (Об этой проблеме следует сообщить сопровождающим.)
Чтобы устранить проблему, сначала удалите репозиторий yum, который предоставил nodejs 9.x, а затем снова запустите сценарий установки для nodejs 10.x.
yum remove $(rpm -qf /etc/yum.repos.d/nodesource.repo)
Этого должно быть достаточно очистите систему, чтобы попытка установить nodejs 10.x завершилась успешно.
NodeJs 10 изначально не поддерживается в RHEL7 (он поддерживается в RHEL8). Вы можете попробовать установить вручную версию CentOS 7
После удаления репозитория yum, который предоставил node.js v9.x или более ранней версии, вам необходимо выполнить эту команду, чтобы очистить кеш yum:
sudo yum clean all && sudo yum makecache быстро
и затем, наконец:
sudo yum install -y nodejs