node.js と npm をソースからビルドせずに (シェル スクリプトを使用して) 無人でインストールする方法はありますか? サーバーの負荷に基づいて自動的にスケーリングする一連のサーバーがありますが、Node.js ソースをダウンロードして make を使用してビルドするには 10 分ほどかかります。
ありがとう!
編集: バイナリをコピーしようとしましたが、バイナリが破損しているというエラーが発生しました。はい、それらはすべて EC2 m1.small インスタンスです。
遅れているかもしれませんが、Windows 用のインストール可能な MSI ファイルがあるので、プラットフォーム (32 ビットまたは 64 ビット) に対応するファイルを次の場所からダウンロードできます。
msiexec /qn フラグを使用してサイレント インストールを開始するには、次の投稿を確認してください。
node.js msi インストーラーは現在、非常に単純です。追加の手順を実行せずに、PATH にノードと npm をインストールします。
EC2 を使用しているため、独自の AMI を作成すると役立つ場合があります。私が見つけた最も便利な方法は次のとおりです。
私は通常、プロジェクトに応じて 3 ~ 5 の異なるバージョンをインストールし[1]、それぞれに個別のモジュールがあります。Nave は、さまざまな Node バージョンとそのモジュールをサンドボックス化します。
その後、好きなように設定したら、このマスター コピーから簡単にサーバーを追加できます[2]。必要に応じて、すべてのNode.js バージョンを技術的にコンパイルすることもできますが、これは必要ではありません。
[1] たとえば、現在、Braintree モジュールには Node.js@0.4.7 が必要ですが、メイン コードベースは Node.js@0.4.1 にあります。
[2] アーキテクチャに一貫性を保つ限り、これをすべて m1.xlarge でコンパイルすると、m1.small ではイメージを使用できません。xl は 64 ビットで、small は 32 ビットだからです。
スクリプトが次のようなものであると仮定します。
git clone https://github.com/joyent/node.git
cd node
./configure
make
ここからの結果を新しいインスタンスごとに使用するだけでなく、次のことを続けることはできますか?
sudo make install
curl http://npmjs.org/install.sh | sudo sh
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
サーバーはすべて同じプラットフォーム/カーネルであり、redhat/centos 環境から言えば、1 つのサーバーでビルドしてバイナリを RPM にパッケージ化しないのはなぜですか? その後、他のサーバー間でそれを使用できます。Debian 環境にいる場合、deb パッケージについても同じであると想定しています。
RPM など、OS ディストリビューションに適したパッケージ システムを構築し、それをサーバーと共有するという James C の提案に賛成します。