Я не могу использовать grunt -cli и grunt serve в моем веб-хостинге.
Я разработал веб-сайт на Node.js, который отлично работает на моей локальной машине. Я запускаю свой сервер с командой:
$ grunt serve
Проблема заключается в том, когда я запускаю свое веб-приложение на своем сервере онлайн (gandi server). Я не могу использовать команду
$ grunt serve
Потому что я должен установить пакет '' grunt-cli '', который:
$ npm install -g grunt-cli
На сервере Gandi.net я не могу установить глобальный пакет, тогда я не использую команду
$ grunt
Я пробую программу как
var grunt = require('grunt');
grunt.task.run("serve");
Программа не запускается.
Мне нужна помощь для выполнения моего главного задания '' служить '' без grunt -cli
1 ответ
Вариант 0
grunt
является инструментом сборки и обычно не используется для запуска серверов, отличных от локальных тестовых серверов. Таким образом, лучшее решение, вероятно, состоит в том, чтобы ваш сервер работал и работал, используя pm2
или же forever
или что-то еще вместо grunt
,
Насколько получение grunt
работает на сервере, если вам все еще нужно это сделать, у вас есть несколько вариантов.
Вариант 1 является наименее разрушительным для системы, но может потребовать наибольшего понимания с вашей стороны для успешного осуществления. В частности, я не уверен, сколько горя вы получите от grunt
если он окажется в неглобальном пути.
Обратите внимание, что Вариант 1 не требует привилегий суперпользователя.
Опция 1
Из оболочки в вашем домашнем каталоге вы можете установить grunt-cli
без -g
, Затем используйте псевдоним оболочки или ваш PATH
переменная окружения, так что вы запускаете ворчание из ~/node_modules/.bin/grunt
,
Вариант 2
Если у вас есть привилегии суперпользователя, измените разрешения на глобальном node_modules
каталог, так что у вас есть доступ для записи в него.
Некоторые люди рекомендуют это по следующему варианту из соображений безопасности, но я думаю, что большинство людей, вероятно, просто идут прямо...
Вариант 3
Если у вас есть разрешение на это на вашем сервере, вы можете использовать sudo npm install -g grunt-cli
,
Вариант 3 является самым простым, но также требует наибольшего доверия к пакетам, которые вы устанавливаете. Потому что пакет может делать все что угодно, как только вы начнете устанавливать его sudo
, используйте эту опцию только для пакетов, которые вы проверяете и / или которым доверяете.