繁体   English   中英

在 AWS EC2 上安装 NPM

[英]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

请遵循此使用节点版本管理器的 AWS教程

节点版本管理器(NVM)允许您安装多个版本的Node.js并在它们之间切换。


以下是步骤:

安装NVM

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash

激活NVM

. ~/.nvm/nvm.sh

安装节点(选择版本)

nvm install 4.4.5

确认安装成功

node -e "console.log('Running Node.js ' + process.version)"

首先

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/

  1. 确保你有

# sudo yum install -y gcc-c++ make

  1. 安装源码

# curl -sL https://rpm.nodesource.com/setup_14.x | sudo -E bash -

  1. 安装节点

# 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 的最简单方法:

  1. 首先使用 amazon-linux-extras 命令安装 epel repo,如下所示:

sudo amazon-linux-extras install epel

  1. 现在安装 npm 和 nodejs 如下:

sudo yum install nodejs npm

  1. 您可以验证 node 和 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 上全局安装nodenpm 我的意思是 install 应该放在像/usr/bin这样的地方,以便所有用户都可以访问。 令人惊讶的是,AWS 显然不支持这个想法。 AWS 鼓励使用nvmnode 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 

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#enterprise-linux-and-fedora-core

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM