Я не могу использовать 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, используйте эту опцию только для пакетов, которые вы проверяете и / или которым доверяете.

Другие вопросы по тегам