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

Материал из K.Wiki
Перейти к: навигация, поиск
(npm)
 
(не показано 7 промежуточных версии этого же участника)
Строка 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>
Строка 33: Строка 33:
 
* [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://learn.javascript.ru/nodejs-screencast Node.JS от А до Я]
+
* [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]
 
* [http://habrahabr.ru/search/?q=%5Bmozilla%20persona%5D&target_type=posts Статьи о Node.js от команды Mozilla Identity]
  
 
[[Категория:База знаний]]
 
[[Категория:База знаний]]
 
[[Категория:Ubuntu]]
 
[[Категория:Ubuntu]]
[[Категория:JavaScript]]
+
[[Категория:Разработка]][[Категория:JavaScript]][[Категория:WebStorm]]
 +
[[Категория:Node.js]]

Текущая версия на 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

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

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

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