在AWS上使用Ec2。
我已经安装了Node.js,它运行正常。
但是在尝试安装npm时会出现问题。
我使用以下命令安装它:
sudo curl http://npmjs.org/install.sh | sh
但安装似乎冻结了...... 我在提示符处“获取:http://registry.npmjs.org/npm/-/npm-1.0.106.tgz”并保持这样状态。
知道这里发生了什么吗?
答案 0 :(得分:115)
sudo yum install nodejs npm --enablerepo=epel
答案 1 :(得分:26)
要安装NodeJS 6.x,请执行以下命令:
curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -
yum install nodejs --enablerepo=nodesource
<强>更新强>
您可以以相同的方式安装NodeJS 7和8。只需在上面的命令中指定所需的版本而不是6。
<强>更新强>
要更新到NodeJS 10(或任何其他版本),请执行以下操作:
rm -rf /etc/yum.repos.d/nodesource-el*
curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -
yum install nodejs --enablerepo=nodesource
答案 2 :(得分:9)
关注使用AWS Tutorial。
的Node Version Manager节点版本管理器(NVM)允许您安装多个版本的Node.js并在它们之间切换。
以下是步骤:
安装NVM
my stub Int metaclass Perl6::Metamodel::ClassHOW { ... };
激活NVM
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
安装节点(选择版本)
. ~/.nvm/nvm.sh
确认安装成功
nvm install 4.4.5
答案 3 :(得分:4)
首先
sudo yum install make
您可以运行此命令以获取所需版本的节点
的zipwget https://nodejs.org/dist/v8.10.0/node-v8.10.0.tar.gz
然后你可以像这样解压缩它
tar -xvf node-v8.10.0.tar.gz
然后进入解压缩的目录并像这样安装节点
./configure && make && sudo make install
答案 4 :(得分:1)
我发现他的教程对我非常有用:最后一章解释了如何安装node和npm编译它。
http://iconof.com/blog/how-to-install-setup-node-js-on-amazon-aws-ec2-complete-guide/#installNode
答案 5 :(得分:1)
git clone https://github.com/isaacs/npm.git
cd npm
sudo make install
如果您没有git,请先执行此操作:
sudo yum install git
答案 6 :(得分:1)
该指南的使用效果非常好:https://tecadmin.net/install-latest-nodejs-amazon-linux/
# sudo yum install -y gcc-c++ make
# curl -sL https://rpm.nodesource.com/setup_14.x | sudo -E bash -
# sudo yum install -y nodejs
注意-您必须运行sudo npm install
才能使安装正常工作。
答案 7 :(得分:0)
首先在系统上获取http://npmjs.org/install.sh
文件,然后直接执行而不是使用curl进行管道操作。
chmod +x install.sh
使其可执行./install.sh
答案 8 :(得分:0)
我是手动完成的。为什么要惹恼那些损坏或不把东西放在我想要的地方的安装程序?这就是在 Amazon Web Services 上安装 *node.js" 时遇到的问题,手动安装是获得我想要的结果的简单方法。
我想在 AWS 上全局安装 node
和 npm
。我的意思是安装应该放在像 /usr/bin
这样的地方,以便所有用户都可以访问。令人惊讶的是,AWS 显然不支持这个想法。 AWS 鼓励使用 nvm
,节点版本管理器,但这似乎总是安装在用户目录中,而不是系统级目录中。在“rpm”解决方案(在别处提到)失败时感到沮丧之后,我最终决定手动进行安装。
在浏览器中,转到 nodejs.org 下载页面:
https://nodejs.org/en/download/
找到一个链接:
All download options
点击那个;它转到一个带有如下 URL 的索引页面:
https://nodejs.org/dist/v14.16.1/
我在那里寻找名称中包含“linux”和“x86”的名称。 我把它写下来,或选择并复制,以获得正确的拼写。 就我而言,它是:
node-v14.16.1-linux-x64.tar.gz
将两部分放在一起,我得到以下网址:
https://nodejs.org/dist/v14.16.1/node-v14.16.1-linux-x64.tar.gz
这就是使用 curl
下载的内容。
我有一个“临时”目录,方便地位于我的主目录中。
cd ~/temp
下载是通过“curl”完成的。请注意,-o
选项用于为 output 文件指定我选择的名称。当然,我选择了与网站文件相同的名称。
curl -o node-v14.16.1-linux-x64.tar.gz https://nodejs.org/dist/v14.16.1/node-v14.16.1-linux-x64.tar.gz
解压下载的文件。
tar xf node-v14.16.1-linux-x64.tar.gz
方便的是,它创建了自己的目录。去那里。
cd node-v14.16.1-linux-x64 || exit 1;
请注意,交付由相对较少的文件和目录组成(因为 node_modules 是作为一个单元处理的)。
就我而言,我仍然安装了一个旧的和糟糕的实现,因此使用以下命令将可能碰巧挡住的任何垃圾放在一边。一些命令出错了,因为旧的垃圾不存在。没关系,移动到 -OLD
时出错只是意味着没有什么可移动的;哪个好。
注意:我将所有这些 mv
(移动)命令放入一个脚本文件中,使其可执行,并以 sudo
的形式运行它。另一种方法是将每一行单独运行为 sudo
。
mv /usr/bin/node /usr/bin/node-OLD
mv /usr/bin/npm /usr/bin/npm-OLD
mv /usr/bin/npx /usr/bin/npx-OLD
mv /usr/include/node /usr/include/node-OLD
mv /usr/lib/node_modules /usr/lib/node_modules-OLD
mv /usr/share/doc/node /usr/share/doc/node-OLD
mv /usr/share/man/man1/node.1 /usr/share/man/man1/node.1-OLD
mv /usr/share/systemtap/tapset/node.stp /usr/share/systemtap/tapset/node.stp-OLD
这里是实际安装。请记住,这发生在未压缩的目录中,在我的例子中是 node-v14.16.1-linux-x64。
mv bin/node /usr/bin
mv bin/npm /usr/bin
mv bin/npx /usr/bin
mv include/node /usr/include
mv lib/node_modules /usr/lib
mv share/doc/node /usr/share/doc
mv share/man/man1/node.1 /usr/share/man/man1
mv share/systemtap/tapset/node.stp /usr/share/systemtap/tapset/
就这样,一切都结束了。
答案 9 :(得分:-3)
编辑,因为我的回答不再适用:
尝试:
curl --silent --location https://rpm.nodesource.com/setup | bash -
yum -y install nodejs