无人参与安装node.js和npm,但不从源代码构build

有没有一种方法来安装node.js和npm无人参与的方式(与shell脚本),而不是从源代码构build? 我有一个基于服务器负载自动扩展的服务器arrays,但下载Node.js源代码并使用make构build需要10分钟。

谢谢!

编辑:我试图复制二进制文件,但导致了二进制文件已损坏的错误。 是的,他们都是EC2 m1.small实例。

假设你的脚本是这样的:

git clone https://github.com/joyent/node.git cd node ./configure make 

你能不能在每个新实例中使用这里的结果,并继续:

 sudo make install curl http://npmjs.org/install.sh | sudo sh 

由于您使用的是EC2,因此您可以自行创buildAMI。 我find的最方便的方法是:

  1. 旋转一个大的,function强大的机器
  2. 编译最新的稳定的Node.js
  3. 安装NPM,然后Nave
  4. 使用Nave安装多个Node.js版本 – 每个版本都有自己的NPM。
  5. 保存为AMI

我通常根据项目[1]安装3-5个不同的版本,每个版本都有自己独立的模块。 Nave将沙箱不同的节点版本及其模块。

然后,一旦你设置了你喜欢的方式,你可以轻松地从这个主副本产生更多的服务器[2]。 你可以在技术上编译每个 Node.js版本,但是我不认为这是必要的。

[1]例如,Braintree模块当前需要Node.js@0.4.7,而主代码库位于Node.js@0.4.1上。
[2]只要你保持与体系结构一致,如果你在m1.xlarge上编译所有这些,你不能在m1.small上使用这个图像,因为xl是64位而小是32位的。

也许我迟到了,但是现在有Windows的可安装的MSI文件,你可以下载一个对应于你的平台(32或64位)的:

http://nodejs.org/download/

并使用msiexec / qn标志启动无提示安装,请检查此帖:

MSIEXEC静默模式安装

node.js msi的安装程序现在非常简单,他们会在PATH上安装node和npm,而不需要额外的步骤。

我假设服务器都是相同的平台/内核,从redhat / centos enviornment说…为什么不build立它在一台服务器上,然后将二进制文件打包到一个RPM? 然后你可以在其他服务器上使用它。 如果你在Debian环境中,我假设它和Deb软件包是一样的。

如果您使用的是Ubuntu,也有一个deb包(也可以用于其他基于Debian或Ubuntu的发行版):

http://blog.jetienne.com/2010/08/nodejs-deb-package-on-ubuntu-repository.html

 sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs 

..

 $ node -v v0.2.6 

对于npm:

 curl http://npmjs.org/install.sh | sudo sh 

我第二个詹姆斯C的build议,build立一个RPM或任何软件包系统适合您的操作系统分布,然后与您的服务器共享。