无人参与安装node.js和npm,但不从源代码构建
有没有一种方法可以以无人参与的方式(使用shell脚本)安装node.js和npm,而无需从源代码构建?我有一个服务器阵列,可以根据服务器负载自动扩展,但是下载Node.js源代码并使用make构建它需要10分钟 谢谢无人参与安装node.js和npm,但不从源代码构建,node.js,npm,Node.js,Npm,有没有一种方法可以以无人参与的方式(使用shell脚本)安装node.js和npm,而无需从源代码构建?我有一个服务器阵列,可以根据服务器负载自动扩展,但是下载Node.js源代码并使用make构建它需要10分钟 谢谢 编辑:我试图复制二进制文件,但这导致了一个错误,即二进制文件已损坏。是的,它们都是EC2 m1.small实例。我假设服务器都是相同的平台/内核,从redhat/centos环境来说。。。为什么不在一台服务器上构建它,然后将二进制文件打包成RPM?然后,您可以在其他服务器上使用它
编辑:我试图复制二进制文件,但这导致了一个错误,即二进制文件已损坏。是的,它们都是EC2 m1.small实例。我假设服务器都是相同的平台/内核,从redhat/centos环境来说。。。为什么不在一台服务器上构建它,然后将二进制文件打包成RPM?然后,您可以在其他服务器上使用它。如果您在Debian环境中,我假设deb软件包也是如此。假设您的脚本类似于:
git clone https://github.com/joyent/node.git
cd node
./configure
make
您是否可以在每个新实例上使用此处的结果,然后继续:
sudo make install
curl http://npmjs.org/install.sh | sudo sh
因为您使用的是EC2,所以它可能有助于创建您自己的AMI。我发现最方便的方法是:
[2] 只要与体系结构保持一致,如果在m1.xlarge上编译所有这些,就不能在m1.small上使用映像,因为xl是64位的,small是32位的 如果您正在使用Ubuntu,还有一个deb包(可能也适用于其他Debian或基于Ubuntu的发行版): 对于npm:
curl http://npmjs.org/install.sh | sudo sh
我赞同James C的建议,即构建一个RPM或任何适合您的操作系统发行版的软件包系统,然后与您的服务器共享。也许我迟到了,但由于现在有可安装的Windows MSI文件,您可以在以下位置下载与您的平台(32或64位)对应的MSI文件: 并使用msiexec/qn标志启动静默安装,请查看以下帖子:
node.js msi安装程序现在非常先进,他们将在路径上安装node和npm,无需额外步骤。我这样做了,将内容放入tarball,并指示shell脚本下载此文件,卸载它,然后继续,但后来我收到一个错误,它无法执行该文件。让我再试一试。以这种方式安装NPM会给出提示:“此脚本将查找并删除NPM 0.x安装的任何垫片、符号链接和其他积垢。是否可以?输入‘是’或‘否’”。是否有办法绕过输入提示?
$ node -v
v0.2.6
curl http://npmjs.org/install.sh | sudo sh