#angular #heroku #angular-cli
#angular #heroku #angular-cli
Вопрос:
Я пытаюсь развернуть приложение NodeJS Angular в Heroku. И я получаю сообщение об ошибке Вы должны быть внутри проекта angular-cli, чтобы использовать команду сборки.
У меня есть структура папок, как на скриншоте ниже.
И package.json в главной папке.
Затем я пытаюсь git push heroku master. Кажется, я устанавливаю зависимость angular cli, а затем запускаю сборку ng, но все равно появляется ошибка.
Комментарии:
1. Во-первых, у вас не должно быть двух файлов package.json. Вам нужен только тот, который находится в корневом каталоге. Во-вторых, вам не нужно специально устанавливать Angular CLI для сборки проекта.
@angular/cli
должно быть указано как devDependency2. После нажатия вы должны быть в состоянии выполнить
ng build --prod
как часть вашейbuild
команды в package.json. Если вы используете Angular Universal, это, скорее всего, будет включать стандартнуюng build
команду, но такжеprerender
иng run
вашей конфигурации сервера.3. Согласно документам heroku, angular cli должен быть зависимостью
4. Я развернул, вероятно, дюжину приложений Angular 4 в Heroku, и я никогда не указывал CLI в качестве зависимости, которая должна быть включена в приложение. Требуется только скомпилировать код, вы бы не хотели, чтобы он добавлялся ни в один из обслуживаемых пакетов.
Ответ №1:
Решил мою проблему, добавив NPM_CONFIG_PRODUCTION=false.
Из heroku docs
Если вам нужен доступ к пакетам, объявленным в разделе devDependencies в другом buildpack или во время выполнения, тогда вы можете установить NPM_CONFIG_PRODUCTION=false или YARN_PRODUCTION=false, чтобы пропустить этап обрезки.
документы