Netlify "команда ng не найдена" - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь развернуть мое угловое приложение на netlify. Тем не менее, я сталкиваюсь с проблемой, где говорится, что команда ng не найдена. У меня на компьютере есть angular cli и npm. Текущие параметры развертывания:

Команда построения: ng build --prod

Опубликовать каталог: dist / mysite

Что может быть причиной этого? Спасибо за тонну!

Вот журналы, связанные с неудачной сборкой

5:43:56 PM: Build ready to start
5:43:58 PM: build-image version: 84aca9ba39e0ee86ba194760fbfc51a808f62543
5:43:58 PM: buildbot version: 57d44fd1631cc3fff8b38fbaf88d3d04f946418a
5:43:58 PM: Fetching cached dependencies
5:43:58 PM: Starting to download cache of 254.7KB
5:43:58 PM: Finished downloading cache in 113.606368ms
5:43:58 PM: Starting to extract cache
5:43:58 PM: Failed to fetch cache, continuing with build
5:43:58 PM: Starting to prepare the repo for build
5:43:59 PM: No cached dependencies found. Cloning fresh repo
5:43:59 PM: git clone git@gitlab.com:jshede/my-website
5:44:05 PM: Preparing Git Reference refs/heads/master
5:44:08 PM: Starting build script
5:44:08 PM: Installing dependencies
5:44:09 PM: Downloading and installing node v8.15.0...
5:44:09 PM: Downloading https://nodejs.org/dist/v8.15.0/node-v8.15.0-linux-x64.tar.xz...
5:44:10 PM:   0.0%
5:44:10 PM: 
###################
5:44:10 PM:                                              26.9%
5:44:10 PM: 
#####################
5:44:10 PM: ################################################### 100.0%
5:44:10 PM: Computing checksum with sha256sum
5:44:10 PM: Checksums matched!
5:44:13 PM: Now using node v8.15.0 (npm v6.4.1)
5:44:13 PM: Attempting ruby version 2.3.6, read from environment
5:44:14 PM: Using ruby version 2.3.6
5:44:14 PM: Using PHP version 5.6
5:44:14 PM: Started restoring cached go cache
5:44:14 PM: Finished restoring cached go cache
5:44:14 PM: unset GOOS;
5:44:14 PM: unset GOARCH;
5:44:14 PM: export GOROOT='/opt/buildhome/.gimme/versions/go1.10.linux.amd64';
5:44:14 PM: export PATH="/opt/buildhome/.gimme/versions/go1.10.linux.amd64/bin:${PATH}";
5:44:14 PM: go version >&2;
5:44:14 PM: export GIMME_ENV='/opt/buildhome/.gimme/env/go1.10.linux.amd64.env';
5:44:14 PM: go version go1.10 linux/amd64
5:44:14 PM: Installing missing commands
5:44:14 PM: Verify run directory
5:44:14 PM: Executing user command: ng build --prod
5:44:14 PM: /usr/local/bin/build: line 32: ng: command not found
5:44:14 PM: Caching artifacts
5:44:14 PM: Started saving pip cache
5:44:14 PM: Finished saving pip cache
5:44:15 PM: Started saving emacs cask dependencies
5:44:15 PM: Finished saving emacs cask dependencies
5:44:15 PM: Started saving maven dependencies
5:44:15 PM: Finished saving maven dependencies
5:44:15 PM: Started saving boot dependencies
5:44:15 PM: Finished saving boot dependencies
5:44:15 PM: Started saving go dependencies
5:44:15 PM: Finished saving go dependencies
5:44:15 PM: Cached node version v8.15.0
5:44:15 PM: Error running command: Build script returned non-zero exit code: 127
5:44:15 PM: Failing build: Failed to build site
5:44:15 PM: failed during stage 'building site': Build script returned non-zero exit code: 127
5:44:15 PM: Finished processing build request in 17.582066584s

Вот мой package.json в угловом приложении

   {
  "name": "mysite",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^6.1.0",
    "@angular/common": "^6.1.0",
    "@angular/compiler": "^6.1.0",
    "@angular/core": "^6.1.0",
    "@angular/forms": "^6.1.0",
    "@angular/http": "^6.1.0",
    "@angular/platform-browser": "^6.1.0",
    "@angular/platform-browser-dynamic": "^6.1.0",
    "@angular/router": "^6.1.0",
    "core-js": "^2.5.4",
    "rxjs": "~6.2.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.8.0",
    "@angular/cli": "~6.2.3",
    "@angular/compiler-cli": "^6.1.0",
    "@angular/language-service": "^6.1.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.3.0",
    "eslint": "^5.11.1",
    "eslint-config-google": "^0.11.0",
    "eslint-plugin-typescript": "^0.14.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": "~2.9.2",
    "typescript-eslint-parser": "^21.0.2"
  }
}

1 Ответ

0 голосов
/ 10 января 2019

Вот некоторые Angular простые настройки, которые я использую на Netlify

Игнорировать зависимости и развернуть папку

Нет необходимости хранить их в своем репо. Netlify раскрутит правильный инструментарий и добавит ваши зависимости.

.gitignore

/node_modules
/dist

Настройка среды сборки для Netlify (необязательно)

A netlify.toml переопределяет настройки администратора app.netlify.com, поэтому мне не нужно их редактировать, если я хочу внести изменения. Они могут быть установлены там без этого файла.

netlify.toml (корень хранилища)

[build]
  command = "npm run build:prod"
  publish = "dist"

Добавьте build:prod в раздел скриптов package.json

  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "build:prod": "ng build --prod",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

Настройка правильного расположения развертывания в angular.json

projects.mysite.architect.build.options.outputPath должно быть "dist" или чем-то уникальным и соответствовать вашему netlify.toml значению публикации и пути игнорирования. ( примечание: можно использовать подпути, если они все совпадают, как dist / my-site)

Убедитесь, что у вас есть _redirects для обработки SPA

Значение

projects.mysite.architect.build.options.assets должно выглядеть примерно так: angular.json

        "assets": [
          "src/favicon.ico",
          "src/assets",
          "src/_redirects"
        ],

Создайте файл перенаправлений, как минимум, чтобы проксировать наши маршруты к корневой индексной странице.

src/_redirects

/* /index.html 200
...