Node.js — различия между версиями

Материал из K.Wiki
Перейти к: навигация, поиск
(npm)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 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]] нужно еще добавить параметр настройки
 
Для сборки под [[ARM]] нужно еще добавить параметр настройки
<pre>$ ./configure --without-snapshot</pre>
+
<pre>./configure --without-snapshot</pre>
 
чтобы не было ошибки <tt>Segmentation fault</tt> при последующем запуске.
 
чтобы не было ошибки <tt>Segmentation fault</tt> при последующем запуске.
 
</li>
 
</li>
 
<li>
 
<li>
 
Собрать
 
Собрать
<pre>$ make</pre>
+
<pre>make</pre>
 
и установить (с правами суперпользователя)
 
и установить (с правами суперпользователя)
<pre># make install</pre>
+
<pre>sudo 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>
+
sudo sh ./install.sh</pre>
 
</li>
 
</li>
 
<li>
 
<li>
Строка 74: Строка 74:
 
и создать ссылку на него в директории '''/etc/init.d''':
 
и создать ссылку на него в директории '''/etc/init.d''':
 
<pre>ln -s /etc/init/{имя службы}.conf /etc/init.d/{имя службы}</pre>
 
<pre>ln -s /etc/init/{имя службы}.conf /etc/init.d/{имя службы}</pre>
{{note|<tt>{имя службы}</tt>, <tt>{имя пользователя}</tt>, <tt>{путь к основному скрипту}</tt> и <tt>{путь к log-файлу}</tt> нужно заменить на подходящие значения.}}
+
(<tt>{имя службы}</tt>, <tt>{имя пользователя}</tt>, <tt>{путь к основному скрипту}</tt> и <tt>{путь к log-файлу}</tt> нужно заменить на подходящие значения).
  
 
После этого станут доступны команды для:
 
После этого станут доступны команды для:
Строка 89: Строка 89:
 
перезапуска службы
 
перезапуска службы
 
<pre>service {имя службы} restart</pre>
 
<pre>service {имя службы} restart</pre>
 +
</li>
 +
<li>
 +
получения состояния службы
 +
<pre>service {имя службы} status</pre>
 
</li>
 
</li>
 
</ul>
 
</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]
  
 
== Ссылки ==
 
== Ссылки ==

Текущая версия на 15:14, 10 июня 2017

Установка[править]

Сборка из исходного кода[править]

  1. Загрузить архив с исходным кодом с http://nodejs.org/download/.
  2. Распаковать скачанный архив
    tar -zxf node-v*.tar.gz

    и перейти в полученную директорию

    cd node-v*
  3. Для сборки под ARM нужно еще добавить параметр настройки
    ./configure --without-snapshot

    чтобы не было ошибки Segmentation fault при последующем запуске.

  4. Собрать
    make

    и установить (с правами суперпользователя)

    sudo make install
  5. Установить npm
    wget https://npmjs.org/install.sh
    sudo sh ./install.sh
  6. Настроить права доступа к файлам /usr/local/bin/node и /usr/local/bin/npm.

Ссылки[править]

Настройка IDE[править]

WebStorm[править]

  1. Проверить, что активирован плагин NodeJS: File → Settings → Plugins.
  2. Настроить плагин NodeJS: File → Settings → Languages & Frameworks → Node.js and NPM.
    1. В поле Node interpreter указать путь к исполняемому файлу node.js. При стандартной установке из исходников он должен быть /usr/local/bin/node.
    2. В поле Sources of Node.js Core Modules нажать кнопку Configure.
    3. В появившемся окне выбрать ссылку на исходный код используемой версии node.js или уже загруженный архив и нажать кнопку Configure.
    4. После завершения настройки исходного кода нажать на ссылку Edit usage scope в поле Sources of Node.js Core Modules.
    5. В появившемся окне кликнуть на поле Library в строке Project.
    6. В появившемся выпадающем списке оставить отмеченными только поля вида Node.js... и нажать кнопку OK.
    7. Нажать кнопку OK.

Настройка службы Ubuntu[править]

Для того, чтобы использовать сервер, основанный на node.js, как службу в Ubuntu, нужно в директории /etc/init создать файл {имя службы}.conf :

# Запускать после инициализации файловой системы.
start on filesystem

# Останавливать перед выключением.
stop on shutdown

# Перезапускать при внеплановой остановке.
respawn

# Не перезапускать, если было 20 остановок за 5 секунд.
respawn limit 20 5

script
    sudo -u {имя пользователя} nodejs {путь к основному скрипту} > {путь к log-файлу}
end script

и создать ссылку на него в директории /etc/init.d:

ln -s /etc/init/{имя службы}.conf /etc/init.d/{имя службы}

({имя службы}, {имя пользователя}, {путь к основному скрипту} и {путь к log-файлу} нужно заменить на подходящие значения).

После этого станут доступны команды для:

  • запуска службы
    service {имя службы} start
  • остановки службы
    service {имя службы} stop
  • перезапуска службы
    service {имя службы} restart
  • получения состояния службы
    service {имя службы} status

npm[править]

Установка и обновление[править]

Как обновить до последней версии?[править]

sudo npm install -g npm@latest

Сборка и публикация[править]

Как собрать пакет не публикуя?[править]
npm pack
Как опубликовать пакет?[править]
npm publish
Как опубликовать пакет в заданной области видимости?[править]

Нужно, чтобы выполнялись несколько условий:

  • Первая публикация должна происходить от пользователя, имя которого совпадает с именем области видимости.
  • Дальнейшие публикации доступны всем, кому добавлены права с помощью npm access grant.
  • Если нет подписки на приватную область видимости, обязательно должен быть ключ --access public.

Как опубликовать пакет в организацию?[править]

Если пакет публикуется впервые, выполнить

npm access grant read-write {ID организации}:{ID команды}

Настройки[править]

Где находится файл настроек?[править]

Это можно узнать выполнив команду

npm config get userconfig

или

npm config get globalconfig

для глобального файла настроек.

Ссылки[править]

Ссылки[править]