在 Red Hat 上安装 nodejs

Installing nodejs on Red Hat

我正在尝试使用以下命令在 Red Hat Enterprise Linux Server 版本 6.1 上安装 node.js:

sudo yum install nodejs npm

我收到以下错误:

Error: Package: nodejs-0.10.24-1.el6.x86_64 (epel)
           Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: nodejs-devel-0.10.24-1.el6.x86_64 (epel)
           Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: nodejs-0.10.24-1.el6.x86_64 (epel)
           Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: nodejs-devel-0.10.24-1.el6.x86_64 (epel)
           Requires: libssl.so.10(libssl.so.10)(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

我也尝试了以下命令:

sudo yum install -y nodejs

我收到以下错误:

Error: Package: nodejs-0.10.24-1.el6.x86_64 (epel)
           Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: nodejs-0.10.24-1.el6.x86_64 (epel)
           Requires: libcrypto.so.10(libcrypto.so.10)(64bit)

我该如何安装?我要安装最新版本。

您需要将您的 CentOS 6 版本更新到 6.5+ 或至少您的 OpenSSL 副本,因为为 CentOS 6 提供的 node.js 软件包是 compiled on a system that had a newer version of OpenSSL,它在 6.5+ 中可用。

另一种方法是从源代码手动编译和安装节点,或者使用来自 nodejs.org 的预编译二进制文件。

NodeJS 提供了一个安装脚本,在使用 yum

安装之前必须 运行
curl -sL https://rpm.nodesource.com/setup | bash -

那么 yum 命令应该可以工作了

yum install -y nodejs

https://github.com/joyent/node/wiki/installing-node.js-via-package-manager#enterprise-linux-and-fedora

我没有代表对 jfredys 的回答发表评论,但想添加一个附录。他的回答对于我假设的某些环境是正确的,但它对我来说失败了,因为我 运行 陷入错误:

您的发行版,标识为 "redhat-release-server-6Server-6.6.0.2.el6.x86_64",目前不受支持,如果您认为这不正确或希望考虑您的发行版,请通过 https://github.com/nodesource/distributions/issues 联系 NodeSource支持

我最近 运行 试图在另一台服务器上安装 meteor 软件包时感到很奇怪,结果证明是 proxy/firewall curl 试图访问 SSL 站点的问题。我不得不更改所有 curl 命令以使用 -k 来绕过错误的 SSL 警告。首先我把安装脚本复制到本地:

curl -kL https://rpm.nodesource.com/setup > ~/nodeInstall.sh

当我在那里时,我删除了 s(静默)选项以深入了解任何问题(幸运的是有 none)。在脚本中,我将所有 curl 命令更改为使用 -k(为了以防万一,还删除了静默选项)。我将它设置为可执行文件和这个 运行 干净地(在 sudo 下),然后我终于能够使用

安装 npm
sudo yum install -y nodejs

一切都很开心:

$npm -version
1.4.28

如果此命令不起作用,请访问...

https://rpm.nodesource.com/setup

在您的浏览器中

它给出了如何使用 wget 的说明。

wget -qO- https://rpm.nodesource.com/setup | bash -

也许这会对某人有所帮助!

IMO @Eric Soyke 的回答应该被标记为正确的。如果您想要节点 v4,需要更改的一件事是将 'setup' 替换为 'setup_4.x'。

命令顺序(至少对于 root 用户而言)是这样的:

curl -kL https://rpm.nodesource.com/setup > ~/nodeInstall.sh
# or for v4 / v6:
#  curl -kL https://rpm.nodesource.com/setup_4.x > ~/nodeInstall.sh
#  curl -kL https://rpm.nodesource.com/setup_6.x > ~/nodeInstall.sh
sed -i -e 's_curl _curl -k _g' nodeInstall.sh
chmod u+x nodeInstall.sh
./nodeInstall.sh
yum -y install nodejs
rm nodeInstall.sh

正如 https://nodejs.org/en/download/package-manager/ 您必须启动:

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -

取决于您需要的 NodeJS 版本。然后简单地 运行

yum -y install nodejs

它对我有用。 运行 两个命令都是超级用户。

sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -

sudo yum install -y nodejs

我建议使用 dnf 安装您需要的 NodeJS 版本,因为 yum 可能会拉错版本。如所见Here

列出可用版本;

sudo dnf module list nodejs

安装你想要的:

sudo dnf module install nodejs:14