我已经看过使用yum安装依赖项的编写,然后从源代码安装Node.JS和NPM . 虽然这确实有效,但我觉得Node.JS和NPM都应该在某个公共回购中 .
如何在AWS Amazon Linux上的一个命令中安装Node.JS和NPM?
偶然发现,以后很难再找到 . 放在这里为后人:
sudo yum install nodejs npm --enablerepo=epel
EDIT 3: 截至2016年7月, EDIT 1 不再适用于nodejs 4(且 EDIT 2 也不适用) . 这个答案(https://stackoverflow.com/a/35165401/78935)给出了一个真正的单行 .
EDIT 1: 如果您正在寻找nodejs 4,请尝试EPEL测试回购:
sudo yum install nodejs --enablerepo=epel-testing
EDIT 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 .
/usr/bin
/usr/local/bin
还有一些背景:
选项 --enablerepo=epel 使 yum 搜索EPEL存储库中的包 .
--enablerepo=epel
yum
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/
和其他人一样,接受的答案也给了我一个过时的版本 .
这是另一种方法,它非常有效:
$ curl --silent --location https://rpm.nodesource.com/setup_10.x | bash - $ yum -y install nodejs
您也可以将10.x替换为其他版本,例如8.x等 .
您可以在NodeSource Github page上查看所有可用版本,如果需要,也可以从那里拉出来 .
接受的答案给了我节点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
现在upzip你刚下载的tar -
tar xzf node.tgz
运行此命令,然后将其添加到 .bashrc :
.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
npm install -g npm
注意 -g 那里意味着全局,实际上意味着全局到那个npm实例,它是我们刚刚安装的实例并且仅限于当前用户 . 这将适用于npm安装'globally'的所有软件包 .
-g
对我有用的程序(遵循带有一些更新的these相当旧的说明):
检查git已安装 git --version 或通过以下方式安装:sudo yum install git
git --version
sudo yum install git
安装gcc和openssl:sudo yum install gcc-c++ makesudo yum install openssl-devel
sudo yum install gcc-c++ make
sudo yum install openssl-devel
将git repo克隆到名为 node 的目录中(稍后可以删除):git clone https://github.com/nodejs/node.git
node
git clone https://github.com/nodejs/node.git
在https://github.com/nodejs/node/releases决定您想要的节点版本
转到刚刚创建的节点目录并安装节点cd nodegit checkout v6.1.0 - 在 v 之后放置您想要的版本./configuremakesudo make install
cd node
git checkout v6.1.0
v
./configure
make
sudo make install
测试该节点已安装/使用 node --version 或只是 node (退出节点通过 process.exit() 或 ^C x 2或 ^C exit )
node --version
process.exit()
^C
exit
检查npm版本: npm --version 并在必要时通过 sudo npm install -g npm 进行更新
npm --version
sudo npm install -g npm
可选:使用 rm -r node 删除 node 目录
rm -r node
笔记:
由于 sudo yum install nodejs --enablerepo=epel-testing 返回错误,所接受的答案无效: No package nodejs available....和 sudo yum install nodejs --enablerepo=epel (即没有 -testing )只提供了非常旧的版本 .
No package nodejs available.
sudo yum install nodejs --enablerepo=epel
-testing
如果您已经安装了旧版本的节点,则可以使用以下命令将其删除:sudo npm uninstall npm -g ...因为npm可以卸载自己sudo yum erase nodejssudo rm -f /usr/local/bin/node( sudo yum rm nodejs 在接受的答案中将无效,因为 rm 不是有效的yum命令,请参阅 yum --help )
sudo npm uninstall npm -g
sudo yum erase nodejs
sudo rm -f /usr/local/bin/node
sudo yum rm nodejs
rm
yum --help
可以通过 git clone git://github.com/nodejs/node.git 克隆节点repo而不是 git clone https://github.com/nodejs/node.git 但是您可能会遇到各种错误(请参阅here) .
git clone git://github.com/nodejs/node.git
如果您之前的安装已经有 /node 目录,请在使用git clone命令之前将其删除(否则会发生冲突):rm -r node
/node
如果您有任何 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
sudo npm...
sudo: npm: command not found
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
使用NVM进行简单安装......
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash nvm install node
对于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
我刚刚遇到过这个 . 我尝试了一些比较流行的答案,但最后,对我有用亚马逊的快速设置指南 .
Tutorial: Setting Up Node.js on an Amazon EC2 Instance
本教程的要点是:
确保您正在查看实例 .
grab nvm: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
有效 . ~/.nvm/nvm.sh
. ~/.nvm/nvm.sh
使用nvm安装节点 nvm install 4.4.5 (注意:您可以选择其他版本 . 请先运行 $ nvm ls-remote 查看远程版本)
nvm install 4.4.5
$ nvm ls-remote
最后,通过运行 $ node -e "console.log('Running Node.js' + process.version)" 测试您是否正确安装了节点Node
$ node -e "console.log('Running Node.js' + process.version)"
希望这有助于下一个人 .
我安装了Node.js 6.x并想安装Node.js 8.x.
这是我使用的命令(取自Nodejs's site,有一些额外的步骤来处理yum缓存数据):
sudo yum remove nodejs :卸载Node.js 6.x(我不知道是否有必要)
sudo yum remove nodejs
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum clean all
sudo yum makecache :重新生成元数据缓存(这不在文档中,但是yum继续尝试安装Node.jx 6.x,但未成功,直到我发出最后两个命令)
sudo yum makecache
sudo yum install nodejs :安装Node.js 8.x.
sudo yum install nodejs
sudo yum install nodejs npm --enablerepo=epel 适用于 Amazon Linux AMI . curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs 适用于RedHat .
Amazon Linux AMI
最简单的解决方案是(以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
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
如官方文档中所述,简单的2步骤 -
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs
对于那些希望在没有进一步搜索的情况下在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 # ...
13 回答
偶然发现,以后很难再找到 . 放在这里为后人:
EDIT 3: 截至2016年7月, EDIT 1 不再适用于nodejs 4(且 EDIT 2 也不适用) . 这个答案(https://stackoverflow.com/a/35165401/78935)给出了一个真正的单行 .
EDIT 1: 如果您正在寻找nodejs 4,请尝试EPEL测试回购:
EDIT 2: 要使用上面的命令从通过EPEL repo安装的nodejs 0.12升级到EPEL测试仓库中的nodejs 4,请按照以下步骤操作:
较新的包将节点二进制文件放在
/usr/bin
中,而不是/usr/local/bin
.还有一些背景:
选项
--enablerepo=epel
使yum
搜索EPEL存储库中的包 .和其他人一样,接受的答案也给了我一个过时的版本 .
这是另一种方法,它非常有效:
您也可以将10.x替换为其他版本,例如8.x等 .
您可以在NodeSource Github page上查看所有可用版本,如果需要,也可以从那里拉出来 .
接受的答案给了我节点0.10.36和npm 1.3.6,它们已经过时了 . 我从nodejs下载页面抓取了最新的linux-x64 tarball,安装起来并不困难:https://nodejs.org/dist/latest/ .
现在upzip你刚下载的tar -
运行此命令,然后将其添加到
.bashrc
:(例如:export PATH =“$ PATH:/home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin”)
并更新
npm
(仅一次,不要添加到.bashrc
):注意
-g
那里意味着全局,实际上意味着全局到那个npm实例,它是我们刚刚安装的实例并且仅限于当前用户 . 这将适用于npm安装'globally'的所有软件包 .对我有用的程序(遵循带有一些更新的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
进行更新可选:使用
rm -r node
删除node
目录笔记:
由于
sudo yum install nodejs --enablerepo=epel-testing
返回错误,所接受的答案无效:No package nodejs available.
...和
sudo yum install nodejs --enablerepo=epel
(即没有-testing
)只提供了非常旧的版本 .如果您已经安装了旧版本的节点,则可以使用以下命令将其删除:
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
)可以通过
git clone git://github.com/nodejs/node.git
克隆节点repo而不是git clone https://github.com/nodejs/node.git
但是您可能会遇到各种错误(请参阅here) .如果您之前的安装已经有
/node
目录,请在使用git clone命令之前将其删除(否则会发生冲突):rm -r node
如果您有任何
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
使用NVM进行简单安装......
对于v4 LTS版本,请使用:
对于Node.js v6使用:
尝试在Amazon Linux上安装本机插件时,我也遇到了一些问题 . 我想你这样做你还应该安装构建工具:
我刚刚遇到过这个 . 我尝试了一些比较流行的答案,但最后,对我有用亚马逊的快速设置指南 .
Tutorial: Setting Up Node.js on an Amazon EC2 Instance
本教程的要点是:
确保您正在查看实例 .
grab nvm:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
有效
. ~/.nvm/nvm.sh
使用nvm安装节点
nvm install 4.4.5
(注意:您可以选择其他版本 . 请先运行$ nvm ls-remote
查看远程版本)最后,通过运行
$ node -e "console.log('Running Node.js' + process.version)"
测试您是否正确安装了节点Node希望这有助于下一个人 .
我安装了Node.js 6.x并想安装Node.js 8.x.
这是我使用的命令(取自Nodejs's site,有一些额外的步骤来处理yum缓存数据):
sudo yum remove nodejs
:卸载Node.js 6.x(我不知道是否有必要)curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum clean all
sudo yum makecache
:重新生成元数据缓存(这不在文档中,但是yum继续尝试安装Node.jx 6.x,但未成功,直到我发出最后两个命令)sudo yum install nodejs
:安装Node.js 8.x.sudo yum install nodejs npm --enablerepo=epel
适用于Amazon Linux AMI
.curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs
适用于RedHat .最简单的解决方案是(以root身份执行)
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
如官方文档中所述,简单的2步骤 -
对于那些希望在没有进一步搜索的情况下在Ansible中运行接受的答案的人,我在此处发布任务以方便和将来参考 .
接受的答案建议:https://stackoverflow.com/a/35165401/78935
Ansible任务相当于