[英]Installing NPM on AWS EC2
在 AWS 上处理 Ec2。
我已经安装了 Node.js,它工作正常。
但是在尝试安装 npm 时出现了问题。
我正在使用以下命令来安装它:
sudo curl http://npmjs.org/install.sh | sh
但是安装似乎冻结了......我在提示符下得到“获取: http://registry.npmjs.org/npm/-/npm-1.0.106.tgz ”并且它保持这样。
知道这里发生了什么吗?
sudo yum install nodejs npm --enablerepo=epel
要安装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
首先
sudo yum install make
您可以运行此命令以获取所需版本节点的zip
wget 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
本指南运行良好: 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
才能使安装工作。
我发现他的教程对我来说非常有用:最后一章解释了如何安装node和npm编译它。
http://iconof.com/blog/how-to-install-setup-node-js-on-amazon-aws-ec2-complete-guide/#installNode
git clone https://github.com/isaacs/npm.git cd npm sudo make install
如果您没有git,请先执行此操作: sudo yum install git
首先在您的系统上获取http://npmjs.org/install.sh
文件,然后直接执行它而不是使用 curl 管道。
chmod +x install.sh
使其可执行./install.sh
在 Amazon Linux 2 ec2 上安装 npm/nodejs 的最简单方法:
sudo amazon-linux-extras install epel
sudo yum install nodejs npm
node -v
npm -v
附注。 我已经在 Amazon Linux 2 AMI (HVM) ec2 实例上对此进行了测试。
我认为最新版本 18 具有依赖性..
node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)
最后我通过运行以下命令得到了解决方案。
sudo apt-get remove nodejs
nvm install 16.15.1
安装了 v16.15.1 节点版本和 npm v v16.15.1。 同样确保你的机器上安装了 nvm。
我是手动完成的。 为什么要惹恼那些损坏或不把东西放在我想要的地方的安装程序? 这就是在 Amazon Web Services 上安装 *node.js" 时遇到的问题,手动安装是获得我想要的结果的简单方法。
我想在 AWS 上全局安装node
和npm
。 我的意思是 install 应该放在像/usr/bin
这样的地方,以便所有用户都可以访问。 令人惊讶的是,AWS 显然不支持这个想法。 AWS 鼓励使用nvm
和node version manager ,但这似乎总是安装在用户目录中,而不是系统级目录中。 在“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
将两部分放在一起,我得到了以下 URL:
https://nodejs.org/dist/v14.16.1/node-v14.16.1-linux-x64.tar.gz
这就是使用curl
下载的内容。
我有一个“临时”目录,方便地位于我的主目录中。
cd ~/temp
下载是通过“curl”完成的。 请注意, -o
选项用于为输出文件指定我选择的名称。 当然,我选择了与网站文件相同的名称。
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/
就这样,一切都结束了。
这对我有用:
sudo apt install npm
编辑,因为我的答案不再相关:
尝试:
curl --silent --location https://rpm.nodesource.com/setup | bash -
yum -y install nodejs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.