Редактирование Node.js

Материал из K.Wiki
Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте.

В истории изменений этой страницы будет записан ваш IP-адрес.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 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>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>
+
# 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://www.youtube.com/watch?v=ILpS4Fq3lmw&feature=youtu.be&list=PLsuEohlthXdkRSxJTkmTstWKHgBHsd3Dx Node.JS от А до Я (Илья Кантор)]
+
* [http://learn.javascript.ru/nodejs-screencast 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]][[Категория:WebStorm]]
+
[[Категория:JavaScript]]
[[Категория:Node.js]]
+

Пожалуйста, учтите, что любой ваш вклад в проект «K.Wiki» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. K.Wiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Источник — «https://chuvilin.pro/wiki/Node.js»