如何在Amazon Linux上安装Node.JS

Tim*_*mer 239 yum amazon-ec2 amazon-web-services node.js npm

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

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

Tim*_*mer 391

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

sudo yum install nodejs npm --enablerepo=epel
Run Code Online (Sandbox Code Playgroud)

编辑3:截至2016年7月,编辑1不再适用于nodejs 4(和编辑2都不适用).这个答案(/sf/answers/2461578101/)给出了真正的单行.

编辑1:如果您正在寻找nodejs 4,请尝试EPEL测试回购:

sudo yum install nodejs --enablerepo=epel-testing
Run Code Online (Sandbox Code Playgroud)

编辑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
Run Code Online (Sandbox Code Playgroud)

较新的包将节点二进制文件放入/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/

  • 我得到节点0.10.36和npm 1.3.6.这些都已经过时了. (21认同)
  • 这绝对是我见过的最快的方法,但警告可能很有用--EPEL存储库与当前的稳定节点不同步,并且在安装时不能使用"n"来修复它方式(至少,不是没有某种超越我的魔法).繁琐的git clone/make install方法是我发现确保一致和当前安装的唯一方法. (8认同)
  • --enablerepo在这里至关重要.非常感谢. (6认同)
  • @Semicolon你可以通过只安装npm,然后`sudo npm install -gn`和`sudo n v0.12`或者你喜欢的任何其他版本来解决这个问题. (4认同)
  • n按预期更新,但它不会正确更新节点链接.你必须运行额外的命令:`sudo ln -sf/usr/local/n/versions/node/<VERSION>/bin/node/usr/bin/node` (4认同)
  • 这个答案没有用,因为`sudo yum install nodejs --enablerepo = epel-testing`返回错误:"没有包nodejs可用." 虽然`sudo yum install nodejs --enablerepo = epel`只给了很老的版本...... (4认同)
  • 如果使用AWS linux和此方法,请不要使用n.而是使用`nvm`升级到最新版本.`n`没有按预期升级. (2认同)

Mat*_*bst 205

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

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

$ curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -
$ yum -y install nodejs
Run Code Online (Sandbox Code Playgroud)

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

您可以在NodeSource Github页面上查看所有可用版本,如果需要,也可以从那里拉出来.

  • 我需要运行`curl --silent --location https://rpm.nodesource.com/setup_4.x | sudo bash -` (31认同)
  • 如果您获得权限被拒绝,则需要添加一些sudo.`curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -`和`sudo yum -y install nodejs` (14认同)
  • 这是获得最新信息的正确答案. (5认同)
  • 这是我需要在AWS Elastic Beanstalk上使用以获得比已安装的版本更新的版本. (3认同)

vol*_*evo 63

接受的答案给了我节点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
Run Code Online (Sandbox Code Playgroud)

现在upzip你刚刚下载的tar -

tar xzf node.tgz
Run Code Online (Sandbox Code Playgroud)

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

export PATH="$PATH:(your install dir)/(node dir)/bin"
Run Code Online (Sandbox Code Playgroud)

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

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

npm install -g npm
Run Code Online (Sandbox Code Playgroud)

请注意,-g那意味着全局,实际上意味着全局到那个npm实例,它是我们刚刚安装的实例并且仅限于当前用户.这将适用于npm全局安装的所有软件包.

  • 这实际上是最好的答案,因为你得到了你想要的版本 (4认同)
  • @voltrevo谢谢你的回答.是的,还有其他方法可以在Linux上安装节点.接受的答案是单行,它恰好插入YUM包系统以进行自动和托管更新.YUM回购中的软件包确实有点旧,并且对更广泛的部署也进行了更好的测试.就个人而言,我建议将最新和最好的本地开发环境保留下来,并使用更接近生产环境的接受答案.干杯! (2认同)

gor*_*rds 28

对我有用的程序(遵循这些相当旧的说明并进行一些更新):

  • 检查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()或通过^Cx 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/node
    (sudo yum rm nodejs在接受的答案中将无效,因为rm不是有效的yum命令,请参阅yum --help)
  3. 可以通过git clone git://github.com/nodejs/node.git而不是克隆节点repo,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

  • @Gio还有很多其他答案可供选择,如果这个不能取悦你;-) ......'在一个命令中'不是恕我直言的问题中最重要的部分. (3认同)

fuz*_*rch 20

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

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
nvm install node
Run Code Online (Sandbox Code Playgroud)

  • 接受的答案和所有的EDIT 1-3对我来说都不起作用,但这很有效.谢谢! (3认同)
  • 这应该是答案.除非有人希望从源代码构建,否则它是迄今为止最好的. (2认同)
  • 如果您通过 cloudformation 的 AWS::EC2::LaunchTemplate 使用用户数据,这将不起作用。如果您通过 SSH 连接到 EC2 并运行它,它将起作用。我仍然坚持通过用户数据让它工作 (2认同)

bir*_*aum 18

对于v4 LTS版本,请使用:

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs
Run Code Online (Sandbox Code Playgroud)

对于Node.js v6使用:

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs
Run Code Online (Sandbox Code Playgroud)

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

yum install gcc-c++ make
Run Code Online (Sandbox Code Playgroud)


dz9*_*902 15

似乎没有人提到这一点。在Amazon Linux 2 上,加载 EPEL 的官方方法是:

  • sudo amazon-linux-extras install epel

...那么你可以:

  • sudo yum install nodejs

     

请参阅附加库 (Amazon Linux 2)

  • @Stretch 不是真的。它安装 Node 6。太旧了。 (3认同)

tro*_*alt 12

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

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

本教程的要点是:

  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 $ node -e "console.log('Running Node.js' + process.version)"

希望这有助于下一个人.


Vai*_*dde 7

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
Run Code Online (Sandbox Code Playgroud)


Bra*_*d W 5

我安装了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.


归档时间:

查看次数:

126498 次

最近记录:

5 年,11 月 前