如何在Amazon Linux上安装Node.JS

问题描述 投票:229回答:15

我已经看过使用yum安装依赖项的编写,然后从源代码安装Node.JS和NPM。虽然这确实有效,但我觉得Node.JS和NPM都应该在某个公共回购中。

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

node.js amazon-web-services amazon-ec2 npm yum
15个回答
387
投票

偶然发现,以后很难再找到。放在这里为后人:

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 repo安装的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(企业Linux的额外软件包)是Fedora团队的开源和免费社区存储库项目,为Linux发行版提供100%高质量的附加软件包,包括RHEL(红帽企业Linux),CentOS和Scientific Linux。 Epel项目不是RHEL / Cent OS的一部分,但它是为主要的Linux发行版设计的,它提供了许多开源软件包,如网络,系统管理,编程,监控等。大多数的epel软件包都是由Fedora repo维护的。

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


1
投票

最简单的解决方案是(以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

enter image description here


1
投票

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


0
投票

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

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

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
  # ...

0
投票

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

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

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

它也适用于AWS Linux实例。


0
投票

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)"

194
投票

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

这是另一种方法,它非常有效:

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

您也可以将10.x替换为其他版本,例如8.x等。

您可以在NodeSource Github page上看到所有可用的版本,如果需要也可以从那里拉出来。

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


62
投票

接受的答案给了我节点0.10.36和npm 1.3.6,它们已经过时了。我从nodejs下载页面抓取了最新的linux-x64 tarball,并且安装起来并不困难: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

现在解压缩刚下载的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全局安装的所有软件包。


26
投票

这个程序对我有用(遵循these而不是旧的指令,只有一些更新):

  • 检查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或只是node(退出节点通过process.exit()^C x 2或^C + exit
  • 检查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/nodesudo yum rm nodejs在接受的答案中将无效,因为rm不是有效的yum命令,请参阅yum --help
  3. 可以通过git clone git://github.com/nodejs/node.git而不是git clone https://github.com/nodejs/node.gitbut克隆节点repo,你可能会遇到各种错误(参见here)。
  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

18
投票

使用NVM进行简单安装......

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

18
投票

对于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

12
投票

我刚刚遇到过这个。我尝试了一些比较流行的答案,但最后,对我来说有用的是亚马逊的快速设置指南。

Tutorial: Setting Up Node.js on an Amazon EC2 Instance

本教程的要点是:

  1. 确保你是ssh'd到实例。
  2. 抓住nvm: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 -e "console.log('Running Node.js' + process.version)"测试您是否正确安装了节点Node

希望这有助于下一个人。


5
投票

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

这是我使用的命令(从Nodejs's site获取,有一些额外的步骤来处理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.

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 为RedHat工作。

© www.soinside.com 2019 - 2024. All rights reserved.