我已经看过使用yum安装依赖项的编写,然后从源代码安装Node.JS和NPM。虽然这确实有效,但我觉得Node.JS和NPM都应该在某个公共回购中。
如何在AWS Amazon Linux上的一个命令中安装Node.JS和NPM?
偶然发现,以后很难再找到。放在这里为后人:
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/
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
# ...
您可以通过将已安装的软件包重新安装到当前版本来更新/安装节点,这样可以在执行更新时避免出现大量错误。
这是由nvm使用以下命令完成的。在这里,我已将节点版本更新为8并将所有可用软件包重新安装到v8!
nvm i v8 --reinstall-packages-from=default
它也适用于AWS Linux实例。
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)"
和其他人一样,接受的答案也给了我一个过时的版本。
这是另一种方法,它非常有效:
$ curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
$ yum -y install nodejs
您也可以将10.x替换为其他版本,例如8.x等。
您可以在NodeSource Github page上看到所有可用的版本,如果需要也可以从那里拉出来。
注意:您可能需要根据您的环境使用sudo
运行。
接受的答案给了我节点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全局安装的所有软件包。
这个程序对我有用(遵循these而不是旧的指令,只有一些更新):
git --version
或通过以下方式安装:
sudo yum install git
sudo yum install gcc-c++ make
sudo yum install openssl-devel
node
的目录中(稍后可以删除):
git clone https://github.com/nodejs/node.git
cd node
git checkout v6.1.0
- 把你想要的版本放在v
之后
./configure
make
sudo make install
node --version
或只是node
(退出节点通过process.exit()
或^C
x 2或^C
+ exit
)npm --version
并在必要时通过sudo npm install -g npm
更新node
删除rm -r 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
而不是git clone https://github.com/nodejs/node.git
but克隆节点repo,你可能会遇到各种错误(参见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进行简单安装......
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
本教程的要点是:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
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工作。