Не удалось развернуть Heroku: sh: 1: ng: не найдено - PullRequest
0 голосов
/ 09 февраля 2019

Не удалось развернуть Heroku.Рассматривал другие подобные сообщения о переполнении стека и изменял файл package.json, пытаясь найти решения, которые сработали для других, но безуспешно.Я не уверен, является ли это проблемой порта, проблемой package.json или чем-то совершенно другим.Любая помощь, советы или советы с благодарностью!

Heroku logs: 

2019-02-09T08:32:56.609533+00:00 heroku[web.1]: State changed from crashed to starting
2019-02-09T08:33:00.956199+00:00 heroku[web.1]: Starting process with command `npm start`
2019-02-09T08:33:03.430137+00:00 heroku[web.1]: State changed from starting to crashed
2019-02-09T08:33:03.257739+00:00 app[web.1]: 
2019-02-09T08:33:03.257781+00:00 app[web.1]: > the-lottery-genie-mean@0.0.0 start /app
2019-02-09T08:33:03.257783+00:00 app[web.1]: > ng serve
2019-02-09T08:33:03.257784+00:00 app[web.1]: 
2019-02-09T08:33:03.294426+00:00 app[web.1]: sh: 1: ng: not found
2019-02-09T08:33:03.304958+00:00 app[web.1]: npm ERR! file sh
2019-02-09T08:33:03.305986+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2019-02-09T08:33:03.306367+00:00 app[web.1]: npm ERR! errno ENOENT
2019-02-09T08:33:03.309015+00:00 app[web.1]: npm ERR! syscall spawn
2019-02-09T08:33:03.310700+00:00 app[web.1]: npm ERR! the-lottery-genie-mean@0.0.0 start: `ng serve`
2019-02-09T08:33:03.310912+00:00 app[web.1]: npm ERR! spawn ENOENT
2019-02-09T08:33:03.311266+00:00 app[web.1]: npm ERR! 
2019-02-09T08:33:03.311514+00:00 app[web.1]: npm ERR! Failed at the the-lottery-genie-mean@0.0.0 start script.
2019-02-09T08:33:03.314421+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2019-02-09T08:33:03.324652+00:00 app[web.1]: 
2019-02-09T08:33:03.324892+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2019-02-09T08:33:03.325013+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2019-02-09T08_33_03_316Z-debug.log
2019-02-09T08:33:03.411224+00:00 heroku[web.1]: Process exited with status 1 

package.json: 

{
  "name": "the-lottery-genie-mean",
  "version": "0.0.0",
  "scripts": {
    "preinstall": "npm link @angular/cli ",
    "heroku-postbuild": "ng build --prod",
    "postinstall": "",
    "ng": "ng",
    "start": "node server.js",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/cli": "^7.1.4",
    "@angular/compiler-cli": "~7.0.0",
    "@angular/animations": "~7.0.0",
    "@angular/common": "~7.0.0",
    "@angular/compiler": "~7.0.0",
    "@angular/core": "~7.0.0",
    "@angular/forms": "~7.0.0",
    "@angular/http": "~7.0.0",
    "@angular/platform-browser": "~7.0.0",
    "@angular/platform-browser-dynamic": "~7.0.0",
    "@angular/router": "~7.0.0",
    "core-js": "^2.5.4",
    "json": "^9.0.6",
    "rxjs": "~6.3.3",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.13.1",
    "@angular/language-service": "~7.0.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.1.1"
  },
  "engines": {
    "node": "10.15.1",
    "npm": "6.4.1"
  }
}

файл server.js

app.listen(PORT, '0.0.0.0', function () {
console.log("Node app is running at localhost:" + app.get('port'));

})

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Вам может понадобиться добавить devkit / builder, убедитесь, что он в правильной последовательности.Я добавил его жирным шрифтом, поэтому убедитесь, что вы собираетесь скопировать пасту, чтобы удалить звездочку с начала и до конца.

"@angular/cli": "^7.1.4",
"@angular/compiler-cli": "~7.0.0",
"@angular/animations": "~7.0.0",
"@angular/common": "~7.0.0",
"@angular/compiler": "~7.0.0",
"@angular/core": "~7.0.0",
"@angular/forms": "~7.0.0",
"@angular/http": "~7.0.0",
"@angular/platform-browser": "~7.0.0",
"@angular/platform-browser-dynamic": "~7.0.0",
"@angular/router": "~7.0.0",
**"@angular-devkit/build-angular": "^0.13.1",
"@angular/language-service": "~7.0.0",**
"core-js": "^2.5.4",
"json": "^9.0.6",
"rxjs": "~6.3.3",
"zone.js": "~0.8.26"
0 голосов
/ 09 февраля 2019

Вы проверяли журнал отладки здесь /app/.npm/_logs/2019-02-09T08_33_03_316Z-debug.log?

Я предлагаю сначала заглянуть в журнал отладки, чтобы получить более подробную информацию для решения проблемы.

ОБНОВЛЕНИЕ

Its an H10 error. "heroku[router]: at=error code=H10 desc="App crashed"
method=GET path="/favicon.ico" host=angular-lottery-genie.herokuapp.com
request_id=30e63a79-c395-4d2a-9987-938bcc350629 fwd="50.250.113.70" dyno=
connect= service= status=503 bytes= protocol=https"

Ваше приложение упало.Вот несколько вещей, которые вы можете сделать:

1.) Перезапустите геройку.У вас должна быть установлена ​​HeroI CLI.Вот ссылка: Установка Heroku CLI .И запустите heroku restart на своем терминале.

2.) Используйте порт, который Heroku динамически устанавливает, к которому обычно можно получить доступ, по номеру process.env.PORT, и установите желаемый порт в качестве резервного:

app.listen(process.env.PORT || 3000, function(){
  console.log("Node app is running at localhost:" + app.get('port'));
});

3.) Попробуйте проверить версию node и npm, набрав в терминале:

node --version
npm --version

и обновив версии node и npm, указанные в файле package.json:

"engines": {
  "node": "10.15.1",
  "npm": "6.4.1"
}

Еще одно ОБНОВЛЕНИЕ для ваших вопросов:

npm ERR! enoent ENOENT: no such file or directory

Эти ошибки обычно связаны с повреждением или несовместимостью пакетов.Что вы можете сделать:

1.) Убедитесь, что в фоновом режиме не запущены другие экземпляры узла, и повторите команду npm.

2.) Удалите каталог node_modules и package-lock.json (если у тебя есть).Переустановите пакеты с npm install (или любой командой, которую вы используете для установки пакетов) в своем терминале в каталоге вашего проекта.

3.) Обновите узел до последней версии, удалите каталог node_modules и package-lock.json и переустановите пакеты.

4.) Если npm все еще не работает, попробуйте yarn менеджер пакетов ( Yarn ).

5.) Если установка пакетов все еще не удалась, проверьте файл журнала ошибок для подробного отчета об ошибке.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...