Автоматическая установка node.js и npm, но без сборки из исходного кода - PullRequest
5 голосов
/ 18 июня 2011

Есть ли способ установить node.js и npm без присмотра (с помощью сценария оболочки), не собирая его из исходного кода?У меня есть массив серверов, который автоматически масштабируется в зависимости от нагрузки на сервер, но загрузка исходного кода Node.js и его сборка с использованием make занимает около 10 минут.

Спасибо!

edit: я пытался копироватьчерез двоичные файлы, но это привело к ошибке, что двоичный файл был поврежден.И да, они все EC2 m1.small экземпляры.

Ответы [ 6 ]

4 голосов
/ 12 января 2013

Возможно, я опоздал, но, поскольку теперь для Windows есть устанавливаемые MSI-файлы, вы можете скачать файл, соответствующий вашей платформе (32 или 64-битный), по адресу:

http://nodejs.org/download/

и запустите установку без вывода сообщений, используя флаг msiexec / qn, проверьте этот пост:

Установка MSIEXEC в бесшумном режиме

Установщики node.js msi теперь довольно просты, они установят node и npm в PATH без лишних шагов.

4 голосов
/ 19 июля 2011

Поскольку вы используете EC2, это может помочь создать ваш собственный AMI. Самый удобный способ, который я нашел, это:

  1. Раскрути большую, мощную машину
  2. Скомпилируйте последний стабильный Node.js
  3. Установите NPM, затем Nave
  4. Установите несколько версий Node.js с помощью Nave - каждая со своим NPM.
  5. Сохранить как 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-битный.

2 голосов
/ 18 июня 2011

Предполагается, что ваш скрипт выглядит примерно так:

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

Можете ли вы не просто использовать результаты, полученные здесь, в каждом новом экземпляре и продолжить с:

sudo make install
curl http://npmjs.org/install.sh | sudo sh
1 голос
/ 25 июля 2011

Существует также пакет deb, если вы используете Ubuntu (может работать и для других дистрибутивов на основе 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
1 голос
/ 18 июня 2011

Я предполагаю, что все серверы - это одна и та же платформа / ядро, если говорить от среды redhat / centos ... почему бы не собрать ее на одном сервере, а затем упаковать двоичные файлы в RPM? Затем вы можете использовать это на других серверах. Я предполагаю, что то же самое для пакетов deb, если вы находитесь в среде Debian.

0 голосов
/ 08 октября 2012

Я поддержу предложение Джеймса С. создать RPM или любую систему пакетов, подходящую для вашего дистрибутива ОС, а затем поделиться ею с вашими серверами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...