我已经看到了使用yum安装依赖项,然后从源代码安装Node.JS和NPM的文章。虽然这是可行的,但我觉得Node.JS和NPM都应该在公共回购的某个地方。

如何在AWS亚马逊Linux上一个命令安装Node.JS和NPM ?


当前回答

正如其他人提到的,使用epel会得到一个非常过时的版本,下面是我刚刚写的一个小脚本,它可以添加到CI管道中,或者将其传递给ec2 user-data,以安装最新版本的node,只需将版本替换为您想要的版本,以及您正在使用的合适的Linux发行版。

下面以amazon-Linux-2-AMI为例

#!/bin/bash

version='v14.13.1'
distro='linux-x64'
package_name="node-$version-$distro"
package_location="/usr/local/lib/"

curl -O https://nodejs.org/download/release/latest/$package_name.tar.gz
tar -xvf $package_name.tar.gz -C $package_location
rm -rfv $package_name.tar.gz

echo "export PATH=$package_location/$package_name/bin:\$PATH" >> ~/.profile

如果您想在同一个shell中测试它,只需运行即可

. ~/.profile

其他回答

对于v4 LTS版本使用:

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs

对于Node.js v6的使用:

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs

在尝试在Amazon Linux上安装本机插件时,我也遇到了一些问题。如果你想这样做,你也应该安装构建工具:

yum install gcc-c++ make

简单的NVM安装…

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
. ~/.nvm/nvm.sh
nvm install node

如果要安装某个版本的Node(如18.12.1),请将最后一行更改为

nvm install 18.12.1

有关如何使用NVM的更多信息,请访问文档: https://github.com/nvm-sh/nvm

正如亚马逊文档(在亚马逊EC2实例上设置Node.js)中所述,只需运行以下命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install --lts

完成了!

和其他人一样,这个公认的答案也给了我一个过时的版本。

这里有另一种非常有效的方法:

$ curl --silent --location https://rpm.nodesource.com/setup_16.x | bash -
$ yum -y install nodejs

您也可以替换16。X与另一个版本,如18。x, 14。x,等等。

您可以在NodeSource Github页面上看到所有可用的版本,如果需要,也可以从那里提取。

注意:根据您的环境,您可能需要使用sudo运行。

正如其他人提到的,使用epel会得到一个非常过时的版本,下面是我刚刚写的一个小脚本,它可以添加到CI管道中,或者将其传递给ec2 user-data,以安装最新版本的node,只需将版本替换为您想要的版本,以及您正在使用的合适的Linux发行版。

下面以amazon-Linux-2-AMI为例

#!/bin/bash

version='v14.13.1'
distro='linux-x64'
package_name="node-$version-$distro"
package_location="/usr/local/lib/"

curl -O https://nodejs.org/download/release/latest/$package_name.tar.gz
tar -xvf $package_name.tar.gz -C $package_location
rm -rfv $package_name.tar.gz

echo "export PATH=$package_location/$package_name/bin:\$PATH" >> ~/.profile

如果您想在同一个shell中测试它,只需运行即可

. ~/.profile