294

我看过关于使用 yum 安装依赖项,然后从源代码安装 Node.JS 和 NPM 的文章。虽然这确实有效,但我觉得 Node.JS 和 NPM 都应该在某个地方的公共仓库中。

如何在 AWS Amazon Linux 上通过一个命令安装 Node.JS 和 NPM?

4

19 回答 19

407

偶然发现了这个,奇怪的是后来很难再找到。放在这里供后代使用:

sudo yum install nodejs npm --enablerepo=epel

编辑 3:截至 2016 年 7 月,编辑 1不再适用于 nodejs 4(编辑 2也不再适用)。这个答案(https://stackoverflow.com/a/35165401/78935)给出了一个真正的单线。

编辑 1:如果您正在寻找 nodejs 4,请尝试 EPEL 测试存储库:

sudo yum install nodejs --enablerepo=epel-testing

编辑 2:要使用上述命令从通过 EPEL 存储库安装的 nodejs 0.12 升级到 EPEL 测试存储库中的 nodejs 4,请按照以下步骤操作:

sudo yum rm nodejs
sudo rm -f /usr/local/bin/node
sudo yum install nodejs --enablerepo=epel-testing

较新的软件包将节点二进制文件/usr/bin放入/usr/local/bin.

还有一些背景:

该选项--enablerepo=epel导致yum在 EPEL 存储库中搜索包。

EPEL (Extra Packages for Enterprise Linux) 是 Fedora 团队基于开源和免费社区的存储库项目,它为包括 RHEL (Red Hat Enterprise Linux)、CentOS 和 Scientific Linux 在内的 Linux 发行版提供 100% 高质量的附加软件包。Epel 项目不是 RHEL/Cent OS 的一部分,但它是为主要的 Linux 发行版设计的,它提供了许多开源包,如网络、系统管理、编程、监控等。大多数 epel 软件包由 Fedora repo 维护。

通过http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/

于 2014-12-08T02:46:50.983 回答
280

像其他人一样,接受的答案也给了我一个过时的版本。

这是另一种效果很好的方法:

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

您也可以将 14.x 替换为其他版本,例如 16.x、12.x 等。

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

注意:您可能需要运行 usingsudo取决于您的环境。

于 2016-02-02T22:57:34.640 回答
65

接受的答案给了我非常过时的节点 0.10.36 和 npm 1.3.6。我从 nodejs 下载页面获取了最新的 linux-x64 压缩包,安装起来并不难:https ://nodejs.org/dist/latest/ 。

# start in a directory where you like to install things for the current user
(For noobs : it downloads node package as node.tgz file in your directlry)
curl (paste the link to the one you want from the downloads page) >node.tgz

现在upzip你刚刚下载的tar -

tar xzf node.tgz

运行此命令,然后将其添加到您的.bashrc

export PATH="$PATH:(your install dir)/(node dir)/bin"

(例如:export PATH ="$PATH:/home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")

并更新npm(仅一次,不要添加到.bashrc):

npm install -g npm

请注意,-g那里的意思是全局的,实际上对于我们刚刚安装的实例的 npm 实例来说是全局的,并且仅限于当前用户。这将适用于 npm “全局”安装的所有软件包。

于 2015-09-19T05:25:57.067 回答
42

使用 NVM 简单安装...

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

要安装某个版本(例如 12.16.3)的 Node 将最后一行更改为

nvm install 12.16.3

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

于 2016-03-31T17:58:11.517 回答
29

对我有用的程序(按照这些相当古老的说明进行了一些更新):

  • 检查 git 是否已安装git --version或通过以下方式安装:
    sudo yum install git
  • 安装 gcc 和 openssl:
    sudo yum install gcc-c++ make
    sudo yum install openssl-devel
  • 将 git repo 克隆到一个名为node(您可以稍后删除)的目录中:
    git clone https://github.com/nodejs/node.git
  • 在https://github.com/nodejs/node/releases决定你想要的节点版本
  • 转到刚刚创建的节点目录并安装节点
    cd node
    git checkout v6.1.0- 将您想要的版本放在后面v
    ./configure
    make
    sudo make install
  • 测试该节点是否已安装/使用任一node --version或简单(通过或x 2 或+node退出节点) process.exit()^C^Cexit
  • 检查 npm 版本:npm --version并在必要时通过以下方式更新sudo npm install -g npm
  • 可选:删除node目录rm -r node

笔记:

  1. 接受的答案不起作用,因为sudo yum install nodejs --enablerepo=epel-testing返回错误:No package nodejs available.
    ...并且sudo yum install nodejs --enablerepo=epel(即没有-testing)只给出了非常旧的版本。
  2. 如果您已经安装了旧版本的节点,您可以删除它:
    sudo npm uninstall npm -g ...因为 npm 可以自行卸载
    sudo yum erase nodejs
    sudo rm -f /usr/local/bin/node
    sudo yum rm nodejs在接受的答案中不起作用,因为rm不是有效的 yum 命令,请参阅yum --help
  3. 可以通过git clone git://github.com/nodejs/node.git而不是克隆节点存储库,git clone https://github.com/nodejs/node.git但您可能会遇到各种错误(请参阅此处)。
  4. 如果您已经有/node以前安装的目录,请在使用 git clone 命令之前将其删除(否则会发生冲突):
    rm -r node
  5. sudo npm...如果您在使用任何命令时遇到问题- 例如sudo: npm: command not found和/或在没有 sudo 的情况下安装节点包时遇到权限问题,请编辑sudo nano /etc/sudoers并添加:/usr/local/bin到该行的末尾,Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin以便它读取Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
于 2016-05-12T03:28:15.063 回答
19

对于 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
于 2016-04-22T14:40:04.680 回答
17

好像没人提这个。在Amazon Linux 2上,加载 EPEL 的官方方法是:

  • sudo amazon-linux-extras install epel

...那么您可以:

  • sudo yum install nodejs

     

请参阅附加库 (Amazon Linux 2)

于 2019-08-14T10:13:10.127 回答
16

我刚遇到这个。我尝试了一些更受欢迎的答案,但最终对我有用的是亚马逊的快速设置指南。

教程:在 Amazon EC2 实例上设置 Node.js

本教程的要点是:

  1. 确保您已通过 ssh 连接到该实例。
  2. 抓取非虚拟机:curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
  3. 积极的. ~/.nvm/nvm.sh
  4. 使用 nvm 安装节点nvm install 4.4.5(注意:您可以选择不同的版本。首先通过运行检查远程版本$ nvm ls-remote
  5. 最后,通过运行测试您是否已正确安装节点 Node$ node -e "console.log('Running Node.js' + process.version)"

希望这可以帮助下一个人。

于 2017-02-21T21:41:42.747 回答
6

我安装了 Node.js 6.x 并想安装 Node.js 8.x。

这是我使用的命令(取自Nodejs 的站点,有几个额外的步骤来处理 yum 缓存的数据):

  1. sudo yum remove nodejs: 卸载 Node.js 6.x (不知道有没有必要)
  2. curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
  3. sudo yum clean all
  4. sudo yum makecache:重新生成元数据缓存(这不在文档中,但 yum 一直尝试安装 Node.jx 6.x,但未成功,直到我发出最后两个命令)
  5. sudo yum install nodejs: 安装 Node.js 8.x
于 2018-02-08T22:20:36.957 回答
4

RHEL、CentOS、CloudLinux、Amazon Linux 或 Fedora:

# As root
curl -fsSL https://rpm.nodesource.com/setup_12.x | bash -

# No root privileges
curl -fsSL https://rpm.nodesource.com/setup_12.x | sudo bash -

sudo yum install -y nodejs
于 2021-08-04T10:03:08.963 回答
3

sudo yum install nodejs npm --enablerepo=epelAmazon Linux AMI. curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs 适用于红帽。

于 2017-07-19T06:44:17.330 回答
2

最简单的解决方案是这个(以root身份执行这些操作)

sudo su root
cd /etc
mkdir node
yum install wget
wget https://nodejs.org/dist/v9.0.0/node-v9.0.0-linux-x64.tar.gz
tar -xvf node-v9.0.0-linux-x64.tar.gz
cd node-v9.0.0-linux-x64/bin
./node -v
ln -s /etc/node-v9.0.0-linux-x64/bin/node node

在此处输入图像描述

于 2018-05-09T19:04:11.410 回答
2

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

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

于 2018-10-05T07:04:52.533 回答
2

EC2-Instance 的官方文档对我有用:https ://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html

 1. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
 2. . ~/.nvm/nvm.sh
 3. nvm ls-remote (=> find your version x.x.x =>) nvm install  x.x.x
 4. node -e "console.log('Running Node.js ' + process.version)"
于 2019-04-15T16:30:50.927 回答
0

如官方文档中所述,简单的以下 2 个步骤 -

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
于 2018-09-17T12:06:16.933 回答
0

对于那些希望在 Ansible 中运行已接受的答案而无需进一步搜索的人,我在此处发布任务以方便和将来参考。

接受的答案推荐:https ://stackoverflow.com/a/35165401/78935

Ansible 任务等价物

tasks:
  - name: Setting up the NodeJS yum repository
    shell: curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
    args:
      warn: no
  # ...
于 2018-11-08T12:09:47.137 回答
0

您可以通过将已安装的软件包重新安装到当前版本来更新/安装节点,这可以使我们在进行更新时避免出现大量错误。

这是由 nvm 使用以下命令完成的。在这里,我已将我的节点版本更新为 8,并将所有可用的软件包也重新安装到 v8!

nvm i v8 --reinstall-packages-from=default

它也适用于 AWS Linux 实例。

于 2018-12-18T10:50:10.230 回答
0

我通常使用 NVM 在服务器上安装节点。它让我可以选择安装多个版本的 nodejs。命令如下

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | 重击

然后检查它是否安装正确

命令 -v nvm

之后,运行它以安装最新版本

nvm 安装节点

或者

非虚拟机安装 11

于 2020-09-22T11:58:53.283 回答
0

正如其他人提到的那样,使用epel给出了一个非常过时的版本,这是我刚刚编写的一个小脚本,用于添加到 CI 管道或将其传递给 ec2以安装最新版本的user-data节点,只需versiondistro您正在使用的 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
于 2020-10-14T17:27:04.493 回答