Node.js — различия между версиями
Материал из K.Wiki
Kirill (обсуждение | вклад) (→Сборка из исходного кода) |
Kirill (обсуждение | вклад) (→npm) |
||
(не показано 10 промежуточных версии этого же участника) | |||
Строка 5: | Строка 5: | ||
<li> | <li> | ||
Распаковать скачанный архив | Распаковать скачанный архив | ||
− | <pre> | + | <pre>tar -zxf node-v*.tar.gz</pre> |
и перейти в полученную директорию | и перейти в полученную директорию | ||
− | <pre> | + | <pre>cd node-v*</pre> |
</li> | </li> | ||
<li> | <li> | ||
− | + | Для сборки под [[ARM]] нужно еще добавить параметр настройки | |
− | + | <pre>./configure --without-snapshot</pre> | |
− | Для сборки под [[ARM]] нужно еще добавить параметр < | + | чтобы не было ошибки <tt>Segmentation fault</tt> при последующем запуске. |
</li> | </li> | ||
<li> | <li> | ||
Собрать | Собрать | ||
− | <pre> | + | <pre>make</pre> |
и установить (с правами суперпользователя) | и установить (с правами суперпользователя) | ||
− | <pre> | + | <pre>sudo make install</pre> |
</li> | </li> | ||
<li> | <li> | ||
Установить npm | Установить npm | ||
− | <pre> | + | <pre>wget https://npmjs.org/install.sh |
− | + | sudo sh ./install.sh</pre> | |
− | + | ||
</li> | </li> | ||
<li> | <li> | ||
− | Настроить права доступа к файлам <tt>/ | + | Настроить права доступа к файлам <tt>/usr/local/bin/node</tt> и <tt>/usr/local/bin/npm</tt>. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</li> | </li> | ||
</ol> | </ol> | ||
Строка 41: | Строка 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://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
Содержание
Установка[править]
Сборка из исходного кода[править]
- Загрузить архив с исходным кодом с http://nodejs.org/download/.
-
Распаковать скачанный архив
tar -zxf node-v*.tar.gz
и перейти в полученную директорию
cd node-v*
-
Для сборки под ARM нужно еще добавить параметр настройки
./configure --without-snapshot
чтобы не было ошибки Segmentation fault при последующем запуске.
-
Собрать
make
и установить (с правами суперпользователя)
sudo make install
-
Установить npm
wget https://npmjs.org/install.sh sudo sh ./install.sh
- Настроить права доступа к файлам /usr/local/bin/node и /usr/local/bin/npm.
Ссылки[править]
Настройка IDE[править]
WebStorm[править]
- Проверить, что активирован плагин NodeJS: File → Settings → Plugins.
-
Настроить плагин NodeJS: File → Settings → Languages & Frameworks → Node.js and NPM.
- В поле Node interpreter указать путь к исполняемому файлу node.js. При стандартной установке из исходников он должен быть /usr/local/bin/node.
- В поле Sources of Node.js Core Modules нажать кнопку Configure.
- В появившемся окне выбрать ссылку на исходный код используемой версии node.js или уже загруженный архив и нажать кнопку Configure.
- После завершения настройки исходного кода нажать на ссылку Edit usage scope в поле Sources of Node.js Core Modules.
- В появившемся окне кликнуть на поле Library в строке Project.
- В появившемся выпадающем списке оставить отмеченными только поля вида Node.js... и нажать кнопку OK.
- Нажать кнопку 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
для глобального файла настроек.
Ссылки[править]
- Использование npm для создания и публикации пакетов Node.js на сервере Linux | www.8host.com
- scope | npm Documentation