3.5 KiB
id | title |
---|---|
windows | Установка в качестве службы Windows |
Основано на инструкции, найденной здесь. Я сделал следующее и получил полностью функциональный сервис verdaccio:
- Создайте папку для verdaccio
- mkdir
c:\verdaccio
- cd
c:\verdaccio
- mkdir
- Установите verdaccio локально (у меня были проблемы при глобальной установке)
- npm install verdaccio
- Создайте свой
config.yaml
в этой папке(c:\verdaccio\config.yaml)
- Сконфигурируйте сервис Windows
С помощью NSSM
АЛЬТЕРНАТИВНЫЙ МЕТОД: (пакета WinSW не было, когда я попытася скачать его)
-
Скачайте NSSM и распакуйте его
-
Добавьте путь к nssm.exe в PATH
-
Откройте окно командной строки как администратор
-
Запустите
nssm install verdaccio
. Как минимум, вы должны заполнить Path на вкладке Application, Startup directory и поле Arguments. Предполагая, что вы указали путь к Node в системных путях и что вы установили verdaccio в папку c:\verdaccio, можно использовать следующие значения:- Path:
node
- Startup directory:
c:\verdaccio
- Arguments:
c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml
Вы можете поменять настройки других сервисов в других вкладках, если хотите. Когда вы закончите, нажмите кнопку Install service
- Запустите сервис sc start verdaccio
- Path:
С помощью WinSW
- На 2015-10-27, WinSW больше нет по указанному адресу. Пожалуйста, используйте инструкции под заголовком "С помощью NSSM" выше.
- Скачайте WinSW
- Поместите исполняемый файл (т.е.
winsw-1.9-bin.exe
) в папку (c:\verdaccio
) и переименуйте его вverdaccio-winsw.exe
- Поместите исполняемый файл (т.е.
- Создайте конфигурационнный файл в
c:\verdaccio
, назвав егоverdaccio-winsw.xml
, со следующей конфигурациейxml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio
. - Инсталлируйте ваш сервис
cd c:\verdaccio
verdaccio-winsw.exe install
- Запустите ваш сервис
verdaccio-winsw.exe start
Указанные выше конфиги оказались слежнее, чем я ожидал - например, 'workingdirectory' был проигнорирован, но, тем не менее, это заработало, и позволило моему verdaccio оставаться запущенным после перезапуска сервера, и так же рестартовать в случае крэша verdaccio.