#node.js #ubuntu #pm2
#node.js #убунту #pm2
Вопрос:
Недавно я клонировал свое приложение nodejs express на экземпляре ec2 ubuntu. Я запустил npm install pm2
, но у него не было прав на запись. Поэтому я побежал
sudo chown _R $USER /usr/lib/node_modules
После этого PM2 был установлен, но когда я нажал pm2 start app.js
, он показывает, что команда pm2 не найдена. Я установил его глобально локально, но ничего не работает.
Что мне делать? Посмотрите скриншот ОШИБКИ
Ответ №1:
pm2
должен быть установлен глобально (на сервере) для корректной работы.
Попробуйте
sudo npm install -g pm2
У Digital Ocean есть отличный учебник по этому вопросу.
Ответ №2:
- в вашем домашнем каталоге
установка sudo npm -g pm2
- повторно войдите в свой экземпляр или перезапустите его
Ответ №3:
Существует простой способ решить эту проблему, просто добавьте оператор pm2 в качестве нового скрипта в ваш файл package.json.
В вашей корневой папке проекта введите
nano package.json
Затем откроется файл пакета, и вы можете добавить следующую строку после строки сценария
"pm2 start src/<yourappname.js>"
ваш файл должен выглядеть следующим образом
"scripts": {
"pm2": "pm2 starts src/<yourappname.js>"
}
Затем нажмите ctl x и enter, чтобы сохранить
(Вы должны заменить src/<yourappname.js > для имени adn пути вашего js-файла, в моем случае у меня есть папка с именем src в корневой папке моего проекта)
Наконец, просто запустите скрипт, введя следующую строку
npm run pm2
и вы ее получили.