Текущая версия |
Ваш текст |
Строка 5: |
Строка 5: |
| <li> | | <li> |
| Распаковать скачанный архив | | Распаковать скачанный архив |
− | <pre>tar -zxf node-v*.tar.gz</pre> | + | <pre>$ tar -zxf node-v*.tar.gz</pre> |
| и перейти в полученную директорию | | и перейти в полученную директорию |
− | <pre>cd node-v*</pre> | + | <pre>$ cd node-v*</pre> |
| </li> | | </li> |
| <li> | | <li> |
− | Для сборки под [[ARM]] нужно еще добавить параметр настройки | + | Настроить параметры сборки. Например, путь для установки. |
− | <pre>./configure --without-snapshot</pre> | + | <pre>$ ./configure --prefix=/opt/node</pre> |
− | чтобы не было ошибки <tt>Segmentation fault</tt> при последующем запуске.
| + | Для сборки под [[ARM]] нужно еще добавить параметр <tt>--without-snapshot</tt>, чтобы не было ошибки <tt>Segmentation fault</tt> при последующем запуске. |
| </li> | | </li> |
| <li> | | <li> |
| Собрать | | Собрать |
− | <pre>make</pre> | + | <pre>$ make</pre> |
| и установить (с правами суперпользователя) | | и установить (с правами суперпользователя) |
− | <pre>sudo make install</pre> | + | <pre># make install</pre> |
| </li> | | </li> |
| <li> | | <li> |
| Установить npm | | Установить npm |
− | <pre>wget https://npmjs.org/install.sh | + | <pre>$ wget https://npmjs.org/install.sh |
− | sudo sh ./install.sh</pre> | + | # export PATH=$PATH:/opt/node/bin |
| + | # sudo sh ./install.sh</pre> |
| </li> | | </li> |
| <li> | | <li> |
− | Настроить права доступа к файлам <tt>/usr/local/bin/node</tt> и <tt>/usr/local/bin/npm</tt>. | + | Настроить права доступа к файлам <tt>/opt/node/bin/node</tt> и <tt>/opt/node/bin/npm</tt>. |
| + | </li> |
| + | <li> |
| + | Добавить строки |
| + | <pre>export PATH=$PATH:/opt/node/bin |
| + | export PATH=$PATH:/opt/node/bin |
| + | </pre> |
| + | в файлы <tt>~/.profile</tt> и <tt>~/.bashrc</tt>. |
| </li> | | </li> |
| </ol> | | </ol> |
Строка 33: |
Строка 41: |
| * [https://github.com/joyent/node/wiki/installation Building and installing Node.js] | | * [https://github.com/joyent/node/wiki/installation Building and installing Node.js] |
| * [http://stackoverflow.com/questions/16628118/node-js-source-code-build-giving-segmentation-fault-on-arm Node.js source code build giving segmentation fault on ARM] | | * [http://stackoverflow.com/questions/16628118/node-js-source-code-build-giving-segmentation-fault-on-arm Node.js source code build giving segmentation fault on ARM] |
− |
| |
− | == Настройка IDE ==
| |
− | === WebStorm ===
| |
− | <ol>
| |
− | <li>Проверить, что активирован плагин '''NodeJS''': '''File → Settings → Plugins'''.</li>
| |
− | <li>
| |
− | Настроить плагин NodeJS: '''File → Settings → Languages & Frameworks → Node.js and NPM'''.
| |
− | <ol>
| |
− | <li>
| |
− | В поле '''Node interpreter''' указать путь к исполняемому файлу [[node.js]].
| |
− | При стандартной установке из исходников он должен быть '''/usr/local/bin/node'''.
| |
− | </li>
| |
− | <li>В поле '''Sources of Node.js Core Modules''' нажать кнопку '''Configure'''.</li>
| |
− | <li>В появившемся окне выбрать ссылку на исходный код используемой версии [[node.js]] или уже загруженный архив и нажать кнопку '''Configure'''.</li>
| |
− | <li>После завершения настройки исходного кода нажать на ссылку '''Edit usage scope''' в поле '''Sources of Node.js Core Modules'''.</li>
| |
− | <li>В появившемся окне кликнуть на поле '''Library''' в строке '''Project'''.</li>
| |
− | <li>В появившемся выпадающем списке оставить отмеченными только поля вида '''Node.js...''' и нажать кнопку '''OK'''.</li>
| |
− | <li>Нажать кнопку '''OK'''.</li>
| |
− | </ol>
| |
− | </li>
| |
− | </ol>
| |
− |
| |
− | == Настройка службы Ubuntu ==
| |
− | Для того, чтобы использовать сервер, основанный на [[node.js]], как службу в [[Ubuntu]], нужно в директории '''/etc/init''' создать файл '''{имя службы}.conf''' :
| |
− | <pre># Запускать после инициализации файловой системы.
| |
− | start on filesystem
| |
− |
| |
− | # Останавливать перед выключением.
| |
− | stop on shutdown
| |
− |
| |
− | # Перезапускать при внеплановой остановке.
| |
− | respawn
| |
− |
| |
− | # Не перезапускать, если было 20 остановок за 5 секунд.
| |
− | respawn limit 20 5
| |
− |
| |
− | script
| |
− | sudo -u {имя пользователя} nodejs {путь к основному скрипту} > {путь к log-файлу}
| |
− | end script</pre>
| |
− | и создать ссылку на него в директории '''/etc/init.d''':
| |
− | <pre>ln -s /etc/init/{имя службы}.conf /etc/init.d/{имя службы}</pre>
| |
− | (<tt>{имя службы}</tt>, <tt>{имя пользователя}</tt>, <tt>{путь к основному скрипту}</tt> и <tt>{путь к log-файлу}</tt> нужно заменить на подходящие значения).
| |
− |
| |
− | После этого станут доступны команды для:
| |
− | <ul>
| |
− | <li>
| |
− | запуска службы
| |
− | <pre>service {имя службы} start</pre>
| |
− | </li>
| |
− | <li>
| |
− | остановки службы
| |
− | <pre>service {имя службы} stop</pre>
| |
− | </li>
| |
− | <li>
| |
− | перезапуска службы
| |
− | <pre>service {имя службы} restart</pre>
| |
− | </li>
| |
− | <li>
| |
− | получения состояния службы
| |
− | <pre>service {имя службы} status</pre>
| |
− | </li>
| |
− | </ul>
| |
− |
| |
− | == npm ==
| |
− | === Установка и обновление ===
| |
− | ==== Как обновить до последней версии? ====
| |
− | <pre>sudo npm install -g npm@latest</pre>
| |
− |
| |
− | ==== Сборка и публикация ====
| |
− | ===== Как собрать пакет не публикуя? =====
| |
− | <pre>npm pack</pre>
| |
− |
| |
− | ===== Как опубликовать пакет? =====
| |
− | <pre>npm publish</pre>
| |
− |
| |
− | ===== Как опубликовать пакет в заданной области видимости? =====
| |
− | Нужно, чтобы выполнялись несколько условий:
| |
− | <ul>
| |
− | <li>Первая публикация должна происходить от пользователя, имя которого совпадает с именем области видимости.</li>
| |
− | <li>Дальнейшие публикации доступны всем, кому добавлены права с помощью <code>npm access grant</code>.</li>
| |
− | <li>Если нет подписки на приватную область видимости, обязательно должен быть ключ <code>--access public</code>.</li>
| |
− | </ul>
| |
− |
| |
− | ==== Как опубликовать пакет в организацию? ====
| |
− | Если пакет публикуется впервые, выполнить
| |
− | <pre>npm access grant read-write {ID организации}:{ID команды}</pre>
| |
− |
| |
− | === Настройки ===
| |
− | ==== Где находится файл настроек? ====
| |
− | Это можно узнать выполнив команду
| |
− | <pre>npm config get userconfig</pre>
| |
− | или
| |
− | <pre>npm config get globalconfig</pre>
| |
− | для глобального файла настроек.
| |
− |
| |
− | === Ссылки ===
| |
− | * [https://www.8host.com/blog/ispolzovanie-npm-dlya-sozdaniya-i-publikacii-paketov-node-js-na-servere-linux/ Использование npm для создания и публикации пакетов Node.js на сервере Linux | www.8host.com]
| |
− | * [https://docs.npmjs.com/misc/scope scope | npm Documentation]
| |
− |
| |
− | == Ссылки ==
| |
− | * [http://www.youtube.com/watch?v=ILpS4Fq3lmw&feature=youtu.be&list=PLsuEohlthXdkRSxJTkmTstWKHgBHsd3Dx Node.JS от А до Я (Илья Кантор)]
| |
− | * [http://habrahabr.ru/search/?q=%5Bmozilla%20persona%5D&target_type=posts Статьи о Node.js от команды Mozilla Identity]
| |
| | | |
| [[Категория:База знаний]] | | [[Категория:База знаний]] |
| [[Категория:Ubuntu]] | | [[Категория:Ubuntu]] |
− | [[Категория:Разработка]][[Категория:JavaScript]][[Категория:WebStorm]]
| + | [[Категория:JavaScript]] |
− | [[Категория:Node.js]]
| + | |