Развернуть Angular Universal на heroku, не удалось скомпилировать приложение Node.js - PullRequest
0 голосов
/ 21 мая 2018

Я пытался развернуть приложение Angular Universal на heroku

Независимо от того, что я делаю, возвращается одна и та же ошибка "не удалось скомпилировать приложение Node.js."

I 'я настроил procfile, я указал «engine» (я пробовал в начале и конце скрипта),

Я переместил некоторые пакеты из devDependencies в зависимости в package.json (В какой-то момент все пакеты были добавлены в зависимости)

Я пытался зафиксировать папку моего узла.

Я даже использовал совершенно другой package.json И он по-прежнему дает мне точно такой же ответ!!?

Что говорит мне;Я думаю, что это не имеет никакого отношения к зависимостям, которые я использую для этого проекта?

используя:

git add .
git commit -m"message"
git push heroku master

Ответ:

Compressing objects: 100% (252/252), done.
Writing objects: 100% (256/256), 3.20 MiB | 319.00 KiB/s, done.
Total 256 (delta 116), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Node.js app detected
remote:
remote: -----> Creating runtime environment
remote:
remote:        NPM_CONFIG_LOGLEVEL=error
remote:        NODE_VERBOSE=false
remote:        NODE_ENV=production
remote:        NODE_MODULES_CACHE=true
remote:
remote: -----> Installing binaries
remote:        engines.node (package.json):  unspecified
remote:        engines.npm (package.json):   unspecified (use default)
remote:
remote:        Resolving node version 8.x...
remote:        Downloading and installing node 8.11.2...
remote:        Using default npm version: 5.6.0
remote:
remote: -----> Restoring cache
remote:        Skipping cache restore (not-found)
remote:
remote: -----> Building dependencies
remote:        Installing node modules (package.json + package-lock)
remote:        npm ERR! Unexpected token < in JSON at position 108
remote:
remote:        npm ERR! A complete log of this run can be found in:
remote:        npm ERR!     /tmp/npmcache.j8wgx/_logs/2018-05-21T14_34_17_856Z-debug.log
remote:
remote: -----> Build failed
remote:
remote:        We're sorry this build is failing! You can troubleshoot common issues here:
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys
remote:
remote:        Some possible problems:
remote:
remote:        - Node version not specified in package.json
remote:        https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
remote:
remote:        Love,
remote:        Heroku
remote:
remote:  !     Push rejected, failed to compile Node.js app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to ma-leon.
remote:
To https://git.heroku.com/ma-leon.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/ma-leon.git'

Мойpackage.json:

{
  "name": "maleon",
  "version": "1.0.0",
  "license": "MIT",
  "main": "index.js",
  "scripts": {
    "ng": "ng",
    "start": "node index.js",
    "build:es2015": "node node_modules/babel-cli/bin/babel.js node_modules/ngx-page-scroll/ --out-dir node_modules/ngx-page-scroll/ --presets es2015",
    "postinstall": "npm run build:es2015  &&  ng build --prod && ng build --prod --app 1 --output-hashing none",
    "fix-scroll": "node node_modules/babel-cli/bin/babel.js node_modules/ngx-page-scroll/ --out-dir node_modules/ngx-page-scroll/ --presets es2015",
    "lint": "tslint \"src/**/*.ts\" --project src/tsconfig.json --type-check && tslint \"e2e/**/*.ts\" --project e2e/tsconfig.json --type-check",
    "test": "ng test",
    "pree2e": "webdriver-manager update --standalone false --gecko false",
    "e2e": "protractor"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^5.2.0",
    "@angular/common": "^5.2.10",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.10",
    "@angular/forms": "^5.2.10",
    "@angular/http": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/platform-server": "^5.2.10",
    "@angular/router": "^5.2.0",
    "@nguniversal/express-engine": "^5.0.0",
    "@nguniversal/module-map-ngfactory-loader": "^5.0.0",
    "babel-cli": "^6.26.0",
    "body-parser": "^1.17.1",
    "bootstrap": "^3.3.7",
    "core-js": "^2.5.3",
    "express": "^4.15.2",
    "emailjs": "^1.0.10",
    "jquery": "^3.2.1",
    "linkify": "^0.2.1",
    "linkifyjs": "^2.1.6",
    "ng2-bootstrap": "^1.6.3",
    "ngx-page-scroll": "^4.0.2",
    "rxjs": "^5.2.0",
    "socket.io-client": "^1.7.3",
    "ts-helpers": "^1.1.1",
    "web-animations-js": "^2.2.5",
    "zone.js": "0.8.5"
  },
  "devDependencies": {
    "@angular/cli": "~1.7.4",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "babel-polyfill": "^6.26.0",
    "babel-preset-es2015": "^6.24.1",
    "codelyzer": "~2.0.0",
    "jasmine-core": "~2.8.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~2.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "popper.js": "^1.14.3",
    "protractor": "~5.1.2",
    "request": "^2.81.0",
    "smoothscroll-polyfill": "^0.4.0",
    "ts-node": "~4.1.0",
    "tslint": "~5.9.1",
    "typescript": "~2.5.3"
  },
  "engines": {
    "node": "9.x"
  }
}

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

В конце концов, это было связано с тем, как я подталкивал к героку

Поскольку я был на ветке, я должен был использовать:

git add .
git commit -m"message"
git push heroku <branchname:>master
0 голосов
/ 21 мая 2018

Это описано в разделе распространенных ошибок документации NPM:

Недопустимый JSON

Error: Invalid JSON

npm ERR! SyntaxError: Unexpected token <

npm ERR! registry error parsing json
  • Возможный временный сбой реестра npm,или поврежден кэш локального сервера.Выполните npm cache clean и / или повторите попытку позже.
  • Это может быть вызвано корпоративными прокси, которые дают HTML-ответы на package.json запросы.Проверьте настройку прокси npm .
  • Убедитесь, что это не проблема с пакетом, который вы пытаетесь установить (например, неверный package.json).

Ваш package.json содержит действительный JSON.Попробуйте проверить package.lock.

...