[英]Unattended install of node.js and npm, but without building it from source
有沒有辦法以無人值守的方式(使用shell腳本)安裝node.js和npm而無需從源代碼構建它? 我有一組服務器可以根據服務器負載自動擴展,但下載Node.js源並使用make構建它需要10分鍾。
謝謝!
編輯:我嘗試復制二進制文件,但這導致二進制文件已損壞的錯誤。 是的,它們都是EC2 m1.small實例。
也許我遲到了,但從現在開始有適用於Windows的可安裝MSI文件,您可以下載與您的平台(32或64位)對應的文件:
並使用msiexec / qn標志啟動靜默安裝,請查看此帖子:
node.js msi安裝程序現在非常簡單,他們將在PATH上安裝node和npm而無需額外的步驟。
由於您使用的是EC2,因此制作您自己的AMI可能會有所幫助。 我找到的最方便的方法是:
我通常根據項目[1]安裝3-5個不同的版本,每個版本都有自己獨立的模塊。 Nave將對不同的Node版本及其模塊進行沙箱處理。
然后,一旦你按照自己喜歡的方式進行設置,就可以輕松地從這個主副本中生成更多的服務器[2]。 你可以在技術上編譯每個 Node.js版本,如果你想,但我沒有發現這是必要的。
[1]例如,Braintree模塊當前需要Node.js@0.4.7,而主代碼庫在Node.js@0.4.1上。
[2]只要你與架構保持一致,如果你在m1.xlarge上編譯所有這些,就不能在m1.small上使用圖像,因為xl是64位而小是32位。
假設你的腳本是這樣的:
git clone https://github.com/joyent/node.git
cd node
./configure
make
您是否可以在每個新實例上使用此處的結果,並繼續:
sudo make install
curl http://npmjs.org/install.sh | sudo sh
我假設服務器都是相同的平台/內核,從redhat / centos環境說起......為什么不在一台服務器上構建它然后將二進制文件打包成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
我的第二個James C的建議是構建一個適合您的操作系統分發的RPM或任何軟件包系統,然后與您的服務器共享它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.