将 .NET Core / Angular 4 项目发布到 Netlify

Publishing a .NET Core / Angular 4 Project to Netlify

有没有人有将 .NET/Angular 项目发布到 Netlify 的经验?我正在使用 Angular Microsoft.AspNetCore.SpaTemplates 模板。在 Netlify 上,我收到一个非零退出代码,阻止我发布。这是我的输出:

9:44:44 AM: Build ready to start
9:44:44 AM: Fetching cached dependencies
9:44:44 AM: Starting to download cache of 8.9MB
9:44:45 AM: Finished downloading cache in 225.765972ms
9:44:45 AM: Preparing Git Reference refs/heads/master
9:45:00 AM: Running build command: dotnet restore && dotnet build && dotnet run
9:45:02 AM: Downloading and installing node v6.11.4...
9:45:02 AM: Downloading https://nodejs.org/dist/v6.11.4/node-v6.11.4-linux-x64.tar.xz...
9:45:03 AM: 
9:45:03 AM:   0.0%
9:45:03 AM: 
                                                                           1.1%
9:45:03 AM: 
###                                                                        4.9%
9:45:03 AM: 
##############
9:45:03 AM:  19.8%
9:45:03 AM: 
##############################                                            41.7%
9:45:03 AM: 
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:04 AM: #
9:45:05 AM: #
9:45:05 AM: #
9:45:05 AM: #
9:45:05 AM: #
9:45:05 AM: #
9:45:05 AM: #
9:45:05 AM: #
9:45:05 AM: #
9:45:06 AM: #
9:45:06 AM: #
9:45:06 AM: #
9:45:06 AM: #
9:45:06 AM: #
9:45:06 AM: #
9:45:06 AM: #
9:45:06 AM: #
9:45:06 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:07 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: #
9:45:08 AM: 
9:45:08 AM: 
9:45:08 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 
9:45:09 AM: 7
9:45:10 AM: 9
9:45:10 AM: .
9:45:10 AM: 7
9:45:10 AM: %
9:45:10 AM: 
9:45:10 AM: #
9:45:10 AM: #
9:45:10 AM: #
9:45:10 AM: #
9:45:10 AM: #
9:45:10 AM: #
9:45:10 AM: #
9:45:10 AM: #
9:45:10 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:11 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:12 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:13 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:14 AM: #
9:45:15 AM: #
9:45:15 AM: #
9:45:15 AM: #
9:45:15 AM: #
9:45:15 AM: 
9:45:15 AM: 1
9:45:15 AM: 0
9:45:15 AM: 0
9:45:15 AM: .
9:45:15 AM: 0
9:45:15 AM: %
9:45:15 AM: 
9:45:15 AM: Computing checksum with sha256sum
9:45:15 AM: Checksums matched!
9:45:16 AM: Now using node v6.11.4 (npm v3.10.10)
9:45:16 AM: Using version v6.11.4 of node
9:45:16 AM: Using /opt/buildhome/.rvm/gems/ruby-2.1.2
9:45:16 AM: Installing NPM modules using NPM version 3.10.10
9:46:25 AM: BrandonCluffPortfolio@0.0.0 /opt/build/repo
├── @angular/animations@4.2.5 
├── @angular/common@4.2.5 
├── @angular/compiler@4.2.5 
├─┬ @angular/compiler-cli@4.2.5 
│ └── minimist@1.2.0 
├── @angular/core@4.2.5 
├── @angular/forms@4.2.5 
├── @angular/http@4.2.5 
├── @angular/platform-browser@4.2.5 
├── @angular/platform-browser-dynamic@4.2.5 
├── @angular/platform-server@4.2.5 
├── @angular/router@4.2.5 
├── @angular/tsc-wrapped@4.2.5 
├─┬ @ngtools/webpack@1.5.0 
│ └── loader-utils@1.1.0 
├── @types/chai@4.0.1 
├── @types/jasmine@2.5.53 
├── @types/webpack-env@1.13.0 
├── accepts@1.3.3 
├── acorn@5.1.1 
├─┬ acorn-dynamic-import@2.0.2 
│ └── acorn@4.0.13 
├── after@0.8.2 
├── ajv@5.2.0 
├── ajv-keywords@1.5.1 
├─┬ align-text@0.1.4 
│ └── kind-of@3.2.2 
├── alphanum-sort@1.0.2 
├── amdefine@1.0.1 
├── angular-font-awesome@2.3.7 
├── angular2-template-loader@0.6.2 
├── ansi-html@0.0.7 
├── ansi-regex@2.1.1 
├── ansi-styles@2.2.1 
├─┬ anymatch@1.3.0 
│ ├── arr-diff@2.0.0 
│ ├── array-unique@0.2.1 
│ ├── braces@1.8.5 
│ ├── expand-brackets@0.1.5 
│ ├── extglob@0.3.2 
│ ├── is-extglob@1.0.0 
│ ├── kind-of@3.2.2 
│ └── micromatch@2.3.11 
├── argparse@1.0.9 
├── arr-diff@4.0.0 
├── arr-flatten@1.1.0 
├── arr-union@3.1.0 
├── array-slice@0.2.3 
├── array-unique@0.3.2 
├── arraybuffer.slice@0.0.6 
├── arrify@1.0.1 
├── asn1.js@4.9.1 
├── aspnet-prerendering@3.0.1 
├── aspnet-webpack@2.0.1 
├── assert@1.4.1 
├── assertion-error@1.0.2 
├── ast-types@0.9.6 
├── async@2.5.0 
├── async-each@1.0.1 
├── atob@2.0.3 
├── autoprefixer@6.7.7 
├─┬ awesome-typescript-loader@3.2.1 
│ └── loader-utils@1.1.0 
├── babel-code-frame@6.22.0 
├── backo2@1.0.2 
├── balanced-match@0.4.2 
├─┬ base@0.11.1 
│ ├── define-property@0.2.5 
│ ├── is-descriptor@0.1.5 
│ ├── isobject@2.1.0 
│ └── kind-of@3.2.2 
├── base64-arraybuffer@0.1.5 
├── base64-js@1.2.1 
├── base64id@1.0.0 
├── better-assert@1.0.2 
├── big.js@3.1.3 
├── binary-extensions@1.8.0 
├── blob@0.0.4 
├── bluebird@3.5.0 
├── bn.js@4.11.7 
├─┬ body-parser@1.17.2 
│ └── iconv-lite@0.4.15 
├── bootstrap@3.3.7 
├─┬ brace-expansion@1.1.8 
│ └── balanced-match@1.0.0 
├── braces@2.2.2 
├── brorand@1.1.0 
├── browserify-aes@1.0.6 
├── browserify-cipher@1.0.0 
├── browserify-des@1.0.0 
├── browserify-rsa@4.0.1 
├── browserify-sign@4.0.4 
├── browserify-zlib@0.1.4 
├── browserslist@1.7.7 
├── buffer@4.9.1 
├── buffer-xor@1.0.3 
├── builtin-modules@1.1.1 
├── builtin-status-codes@3.0.0 
├── bytes@2.4.0 
├── cache-base@0.8.5 
├── callsite@1.0.0 
├── camel-case@3.0.0 
├── camelcase@1.2.1 
├── caniuse-api@1.6.1 
├── caniuse-db@1.0.30000697 
├─┬ center-align@0.1.3 
│ └── lazy-cache@1.0.4 
├── chai@4.0.2 
├── chalk@1.1.3 
├── check-error@1.0.2 
├── chokidar@1.7.0 
├── cipher-base@1.0.3 
├── clap@1.2.0 
├─┬ class-utils@0.3.5 
│ ├── define-property@0.2.5 
│ ├── is-descriptor@0.1.5 
│ └── kind-of@3.2.2 
├── clean-css@4.1.5 
├── cliui@2.1.0 
├── clone@1.0.2 
├── co@4.6.0 
├── coa@1.0.3 
├── code-point-at@1.1.0 
├── collection-visit@0.2.3 
├── color@0.11.4 
├── color-convert@1.9.0 
├── color-name@1.1.2 
├── color-string@0.3.0 
├── colormin@1.1.2 
├── colors@1.1.2 
├── combine-lists@1.0.1 
├── commander@2.9.0 
├── component-bind@1.0.0 
├── component-emitter@1.2.1 
├── component-inherit@0.0.3 
├── concat-map@0.0.1 
├── connect@3.6.2 
├── console-browserify@1.1.0 
├── constants-browserify@1.0.0 
├── content-type@1.0.2 
├── cookie@0.3.1 
├── copy-descriptor@0.1.1 
├── core-js@2.4.1 
├── core-util-is@1.0.2 
├── create-ecdh@4.0.0 
├── create-hash@1.1.3 
├── create-hmac@1.1.6 
├── crypto-browserify@3.11.0 
├─┬ css@2.2.1 
│ ├── atob@1.1.3 
│ ├── source-map@0.1.43 
│ ├── source-map-resolve@0.3.1 
│ └── source-map-url@0.3.0 
├── css-color-names@0.0.4 
├─┬ css-loader@0.28.4 
│ └── loader-utils@1.1.0 
├── css-selector-tokenizer@0.7.0 
├── cssesc@0.1.0 
├── cssnano@3.10.0 
├── csso@2.3.2 
├── custom-event@1.0.1 
├── date-now@0.1.4 
├── debug@2.6.7 
├── decamelize@1.2.0 
├─┬ deep-eql@2.0.2 
│ └── type-detect@3.0.0 
├── define-property@1.0.0 
├── defined@1.0.0 
├── depd@1.1.0 
├── des.js@1.0.0 
├── di@0.0.1 
├── diffie-hellman@5.0.2 
├── dom-serialize@2.2.1 
├── domain-browser@1.1.7 
├── domain-context@0.5.1 
├── domain-task@3.0.3 
├── ee-first@1.1.1 
├── electron-to-chromium@1.3.15 
├── elliptic@6.4.0 
├── emojis-list@2.1.0 
├── encodeurl@1.0.1 
├── encoding@0.1.12 
├─┬ engine.io@1.8.3 
│ ├── debug@2.3.3 
│ └── ms@0.7.2 
├─┬ engine.io-client@1.8.3 
│ ├── debug@2.3.3 
│ └── ms@0.7.2 
├── engine.io-parser@1.3.2 
├─┬ enhanced-resolve@3.3.0 
│ └── memory-fs@0.4.1 
├── ent@2.2.0 
├── errno@0.1.4 
├── error-ex@1.3.1 
├── es6-promise@3.3.1 
├── es6-shim@0.35.3 
├── es6-templates@0.2.3 
├── escape-html@1.0.3 
├── escape-string-regexp@1.0.5 
├── esprima@2.7.3 
├── esutils@2.0.2 
├── event-source-polyfill@0.0.9 
├── eventemitter3@1.2.0 
├── events@1.1.1 
├── evp_bytestokey@1.0.0 
├─┬ expand-braces@0.1.2 
│ ├── array-unique@0.2.1 
│ ├── braces@0.1.5 
│ ├── expand-range@0.1.1 
│ ├── is-number@0.1.1 
│ └── repeat-string@0.2.2 
├─┬ expand-brackets@2.1.4 
│ ├── define-property@0.2.5 
│ ├── is-descriptor@0.1.5 
│ └── kind-of@3.2.2 
├─┬ expand-range@1.8.2 
│ ├── fill-range@2.2.3 
│ ├── is-number@2.1.0 
│ ├── isobject@2.1.0 
│ └── kind-of@3.2.2 
├── expose-loader@0.7.3 
├── extend@3.0.1 
├── extend-shallow@2.0.1 
├─┬ extglob@1.1.0 
│ ├── define-property@0.2.5 
│ ├── is-descriptor@0.1.5 
│ ├── kind-of@3.2.2 
│ └─┬ to-regex@2.1.0 
│   └── regex-not@0.1.2 
├─┬ extract-text-webpack-plugin@2.1.2 
│ └── loader-utils@1.1.0 
├── fast-deep-equal@0.1.0 
├── fastparse@1.1.1 
├─┬ file-loader@0.11.2 
│ └── loader-utils@1.1.0 
├── filename-regex@2.0.1 
├── fill-range@4.0.0 
├── finalhandler@1.0.3 
├── find-up@1.1.2 
├── flatten@1.0.2 
├── font-awesome@4.7.0 
├── for-in@1.0.2 
├── for-own@0.1.5 
├── fragment-cache@0.2.1 
├── fs-access@1.0.1 
├── fs.realpath@1.0.0 
├── function-bind@1.1.0 
├── get-caller-file@1.0.2 
├── get-func-name@2.0.0 
├── get-value@2.0.6 
├── glob@7.1.2 
├── glob-base@0.3.0 
├── glob-parent@2.0.0 
├── graceful-fs@4.1.11 
├── graceful-readlink@1.0.1 
├── has@1.0.1 
├── has-ansi@2.0.0 
├─┬ has-binary@0.1.7 
│ └── isarray@0.0.1 
├── has-cors@1.1.0 
├── has-flag@1.0.0 
├─┬ has-value@0.3.1 
│ └── isobject@2.1.0 
├── has-values@0.1.4 
├── hash-base@2.0.2 
├── hash.js@1.1.3 
├── he@1.1.1 
├── hmac-drbg@1.0.1 
├── hosted-git-info@2.5.0 
├── html-comment-regex@1.1.1 
├── html-entities@1.2.1 
├─┬ html-loader@0.4.5 
│ └── loader-utils@1.1.0 
├── html-minifier@3.5.2 
├── http-errors@1.6.1 
├── http-proxy@1.16.2 
├── https-browserify@0.0.1 
├── iconv-lite@0.4.18 
├── icss-replace-symbols@1.1.0 
├─┬ icss-utils@2.1.0 
│ ├── ansi-styles@3.1.0 
│ ├── chalk@2.0.1 
│ ├── has-flag@2.0.0 
│ ├── postcss@6.0.6 
│ └── supports-color@4.1.0 
├── ieee754@1.1.8 
├── indexes-of@1.0.1 
├── indexof@0.0.1 
├── inflight@1.0.6 
├── inherits@2.0.3 
├── interpret@1.0.3 
├── invert-kv@1.0.0 
├── is-absolute-url@2.1.0 
├─┬ is-accessor-descriptor@0.1.6 
│ └── kind-of@3.2.2 
├── is-arrayish@0.2.1 
├── is-binary-path@1.0.1 
├── is-buffer@1.1.5 
├── is-builtin-module@1.0.0 
├─┬ is-data-descriptor@0.1.4 
│ └── kind-of@3.2.2 
├─┬ is-descriptor@1.0.0 
│ └── kind-of@3.2.2 
├── is-dotfile@1.0.3 
├── is-equal-shallow@0.1.3 
├── is-extendable@0.1.1 
├── is-extglob@2.1.1 
├── is-fullwidth-code-point@1.0.0 
├─┬ is-glob@2.0.1 
│ └── is-extglob@1.0.0 
├─┬ is-number@3.0.0 
│ └── kind-of@3.2.2 
├── is-odd@1.0.0 
├── is-plain-obj@1.1.0 
├── is-plain-object@2.0.3 
├── is-posix-bracket@0.1.1 
├── is-primitive@2.0.0 
├── is-stream@1.1.0 
├── is-svg@2.1.0 
├── is-utf8@0.2.1 
├── isarray@1.0.0 
├── isbinaryfile@3.0.2 
├── isexe@2.0.0 
├── isobject@3.0.1 
├── isomorphic-fetch@2.2.1 
├── jasmine-core@2.6.4 
├── jquery@3.2.1 
├── js-base64@2.1.9 
├── js-tokens@3.0.2 
├── js-yaml@3.7.0 
├── jsesc@0.5.0 
├── json-loader@0.5.4 
├── json-schema-traverse@0.3.1 
├── json-stable-stringify@1.0.1 
├── json3@3.3.2 
├── json5@0.5.1 
├── jsonify@0.0.0 
├─┬ karma@1.7.0 
│ └── lodash@3.10.1 
├── karma-chai@0.1.0 
├── karma-chrome-launcher@2.2.0 
├── karma-cli@1.0.1 
├── karma-jasmine@1.1.0 
├─┬ karma-webpack@2.0.3 
│ ├── async@0.9.2 
│ ├── lodash@3.10.1 
│ └── source-map@0.1.43 
├── kind-of@4.0.0 
├── lazy-cache@2.0.2 
├── lcid@1.0.0 
├── load-json-file@1.1.0 
├── loader-runner@2.3.0 
├── loader-utils@0.2.17 
├── lodash@4.17.4 
├── lodash.camelcase@4.3.0 
├── lodash.memoize@4.1.2 
├── lodash.uniq@4.5.0 
├─┬ log4js@0.6.38 
│ ├── isarray@0.0.1 
│ ├── readable-stream@1.0.34 
│ ├── semver@4.3.6 
│ └── string_decoder@0.10.31 
├── longest@1.0.1 
├── lower-case@1.1.4 
├── lru-cache@2.2.4 
├── macaddress@0.2.8 
├── magic-string@0.19.1 
├── map-cache@0.2.2 
├── map-visit@0.1.5 
├── math-expression-evaluator@1.2.17 
├── media-typer@0.3.0 
├── memory-fs@0.3.0 
├── micromatch@3.0.3 
├── miller-rabin@4.0.0 
├── mime@1.3.6 
├── mime-db@1.27.0 
├── mime-types@2.1.15 
├── minimalistic-assert@1.0.0 
├── minimalistic-crypto-utils@1.0.1 
├── minimatch@3.0.4 
├── minimist@0.0.8 
├── mixin-deep@1.2.0 
├── mkdirp@0.5.1 
├── ms@2.0.0 
├── nanomatch@1.2.0 
├── ncname@1.0.0 
├── negotiator@0.6.1 
├── no-case@2.3.1 
├── node-fetch@1.7.1 
├─┬ node-libs-browser@2.0.0 
│ └── string_decoder@0.10.31 
├── normalize-package-data@2.4.0 
├── normalize-path@2.1.1 
├── normalize-range@0.1.2 
├── normalize-url@1.9.1 
├── null-check@1.0.0 
├── num2fraction@1.2.2 
├── number-is-nan@1.0.1 
├── object-assign@4.1.1 
├── object-component@0.0.3 
├─┬ object-copy@0.1.0 
│ ├── define-property@0.2.5 
│ ├── is-descriptor@0.1.5 
│ └── kind-of@3.2.2 
├─┬ object-visit@0.3.4 
│ └── isobject@2.1.0 
├── object.omit@2.0.1 
├─┬ object.pick@1.2.0 
│ └── isobject@2.1.0 
├── on-finished@2.3.0 
├── once@1.4.0 
├── optimist@0.6.1 
├── options@0.0.6 
├── os-browserify@0.2.1 
├── os-locale@1.4.0 
├── os-tmpdir@1.0.2 
├── pako@0.2.9 
├── param-case@2.1.1 
├── parse-asn1@5.1.0 
├─┬ parse-glob@3.0.4 
│ └── is-extglob@1.0.0 
├── parse-json@2.2.0 
├─┬ parse5@3.0.2 
│ └── @types/node@6.0.79 
├── parsejson@0.0.3 
├── parseqs@0.0.5 
├── parseuri@0.0.5 
├── parseurl@1.3.1 
├── pascalcase@0.1.1 
├── path-browserify@0.0.0 
├── path-exists@2.1.0 
├── path-is-absolute@1.0.1 
├── path-parse@1.0.5 
├── path-type@1.1.0 
├── pathval@1.1.0 
├── pbkdf2@3.0.12 
├── pify@2.3.0 
├── pinkie@2.0.4 
├── pinkie-promise@2.0.1 
├── posix-character-classes@0.1.1 
├─┬ postcss@5.2.17 
│ └── supports-color@3.2.3 
├── postcss-calc@5.3.1 
├── postcss-colormin@2.2.2 
├── postcss-convert-values@2.6.1 
├── postcss-discard-comments@2.0.4 
├── postcss-discard-duplicates@2.1.0 
├── postcss-discard-empty@2.1.0 
├── postcss-discard-overridden@0.1.1 
├── postcss-discard-unused@2.2.3 
├── postcss-filter-plugins@2.0.2 
├── postcss-merge-idents@2.1.7 
├── postcss-merge-longhand@2.0.2 
├── postcss-merge-rules@2.1.2 
├── postcss-message-helpers@2.0.0 
├── postcss-minify-font-values@1.0.5 
├── postcss-minify-gradients@1.0.5 
├── postcss-minify-params@1.2.2 
├── postcss-minify-selectors@2.1.1 
├─┬ postcss-modules-extract-imports@1.1.0 
│ ├── ansi-styles@3.1.0 
│ ├── chalk@2.0.1 
│ ├── has-flag@2.0.0 
│ ├── postcss@6.0.6 
│ └── supports-color@4.1.0 
├─┬ postcss-modules-local-by-default@1.2.0 
│ ├── ansi-styles@3.1.0 
│ ├── chalk@2.0.1 
│ ├── has-flag@2.0.0 
│ ├── postcss@6.0.6 
│ └── supports-color@4.1.0 
├─┬ postcss-modules-scope@1.1.0 
│ ├── ansi-styles@3.1.0 
│ ├── chalk@2.0.1 
│ ├── has-flag@2.0.0 
│ ├── postcss@6.0.6 
│ └── supports-color@4.1.0 
├─┬ postcss-modules-values@1.3.0 
│ ├── ansi-styles@3.1.0 
│ ├── chalk@2.0.1 
│ ├── has-flag@2.0.0 
│ ├── postcss@6.0.6 
│ └── supports-color@4.1.0 
├── postcss-normalize-charset@1.1.1 
├── postcss-normalize-url@3.0.8 
├── postcss-ordered-values@2.2.3 
├── postcss-reduce-idents@2.4.0 
├── postcss-reduce-initial@1.0.1 
├── postcss-reduce-transforms@1.0.4 
├── postcss-selector-parser@2.2.3 
├── postcss-svgo@2.1.6 
├── postcss-unique-selectors@2.0.2 
├── postcss-value-parser@3.3.0 
├── postcss-zindex@2.2.0 
├── preboot@4.5.2 
├── prepend-http@1.0.4 
├── preserve@0.2.0 
├── private@0.1.7 
├── process@0.11.10 
├── process-nextick-args@1.0.7 
├── prr@0.0.0 
├── public-encrypt@4.0.0 
├── punycode@1.4.1 
├── q@1.5.0 
├── qjobs@1.1.5 
├── qs@6.4.0 
├── query-string@4.3.4 
├── querystring@0.2.0 
├── querystring-es3@0.2.1 
├── randomatic@1.1.7 
├── randombytes@2.0.5 
├── range-parser@1.2.0 
├─┬ raw-body@2.2.0 
│ └── iconv-lite@0.4.15 
├── raw-loader@0.5.1 
├── read-pkg@1.1.0 
├── read-pkg-up@1.0.1 
├── readable-stream@2.3.3 
├── readdirp@2.1.0 
├─┬ recast@0.11.23 
│ └── esprima@3.1.3 
├── reduce-css-calc@1.3.0 
├── reduce-function-call@1.0.2 
├── reflect-metadata@0.1.10 
├── regenerate@1.3.2 
├── regex-cache@0.4.3 
├── regex-not@1.0.0 
├── regexpu-core@1.0.0 
├── regjsgen@0.2.0 
├── regjsparser@0.1.5 
├── relateurl@0.2.7 
├── remove-trailing-separator@1.0.2 
├── repeat-element@1.1.2 
├── repeat-string@1.6.1 
├── require-directory@2.1.1 
├── require-from-string@1.2.1 
├── require-main-filename@1.0.1 
├── requires-port@1.0.0 
├── resolve@1.3.3 
├── resolve-url@0.2.1 
├── right-align@0.1.3 
├── rimraf@2.6.1 
├── ripemd160@2.0.1 
├── rxjs@5.4.2 
├── safe-buffer@5.1.1 
├── sax@1.2.4 
├── schema-utils@0.3.0 
├── semver@5.3.0 
├── set-blocking@2.0.0 
├── set-getter@0.1.0 
├── set-immediate-shim@1.0.1 
├── set-value@0.4.3 
├── setimmediate@1.0.5 
├── setprototypeof@1.0.3 
├── sha.js@2.4.8 
├─┬ snapdragon@0.8.1 
│ ├── define-property@0.2.5 
│ ├── is-descriptor@0.1.5 
│ └── kind-of@3.2.2 
├── snapdragon-node@2.1.1 
├─┬ snapdragon-util@3.0.1 
│ └── kind-of@3.2.2 
├─┬ socket.io@1.7.3 
│ ├── debug@2.3.3 
│ ├── ms@0.7.2 
│ └── object-assign@4.1.0 
├─┬ socket.io-adapter@0.5.0 
│ ├── debug@2.3.3 
│ └── ms@0.7.2 
├─┬ socket.io-client@1.7.3 
│ ├── debug@2.3.3 
│ └── ms@0.7.2 
├─┬ socket.io-parser@2.3.1 
│ ├── component-emitter@1.1.2 
│ ├── debug@2.2.0 
│ ├── isarray@0.0.1 
│ └── ms@0.7.1 
├── sort-keys@1.1.2 
├── source-list-map@0.1.8 
├── source-map@0.5.6 
├── source-map-resolve@0.5.0 
├── source-map-support@0.4.15 
├── source-map-url@0.4.0 
├── spdx-correct@1.0.2 
├── spdx-expression-parse@1.0.4 
├── spdx-license-ids@1.2.2 
├── split-string@2.1.1 
├── sprintf-js@1.0.3 
├── startbootstrap-full-slider@4.0.0-alpha 
├─┬ static-extend@0.1.2 
│ ├── define-property@0.2.5 
│ ├── is-descriptor@0.1.5 
│ └── kind-of@3.2.2 
├── statuses@1.3.1 
├── stream-browserify@2.0.1 
├── stream-http@2.7.2 
├── strict-uri-encode@1.1.0 
├── string-width@1.0.2 
├── string_decoder@1.0.3 
├── strip-ansi@3.0.1 
├── strip-bom@2.0.0 
├─┬ style-loader@0.18.2 
│ └── loader-utils@1.1.0 
├── supports-color@2.0.0 
├── svgo@0.7.2 
├── symbol-observable@1.0.4 
├── tapable@0.2.6 
├── through@2.3.8 
├── timers-browserify@2.0.2 
├── tmp@0.0.31 
├── to-array@0.1.4 
├── to-arraybuffer@1.0.1 
├─┬ to-object-path@0.3.0 
│ └── kind-of@3.2.2 
├─┬ to-regex@3.0.1 
│ ├── define-property@0.2.5 
│ ├── is-descriptor@0.1.5 
│ └── kind-of@3.2.2 
├── to-regex-range@2.1.1 
├── to-string-loader@1.1.5 
├─┬ tsickle@0.21.6 
│ └── minimist@1.2.0 
├── tslib@1.7.1 
├── tty-browserify@0.0.0 
├── type-detect@4.0.3 
├── type-is@1.6.15 
├── typescript@2.4.1 
├── uglify-js@3.0.23 
├── uglify-to-browserify@1.0.2 
├── ultron@1.0.2 
├── union-value@0.2.4 
├── uniq@1.0.1 
├── uniqid@4.1.1 
├── uniqs@2.0.0 
├── unpipe@1.0.0 
├── unset-value@0.1.2 
├── upper-case@1.1.3 
├── urix@0.1.0 
├─┬ url@0.11.0 
│ └── punycode@1.3.2 
├─┬ url-loader@0.5.9 
│ └── loader-utils@1.1.0 
├─┬ use@2.0.2 
│ ├── define-property@0.2.5 
│ ├── is-descriptor@0.1.5 
│ └── kind-of@3.2.2 
├── useragent@2.2.0 
├─┬ util@0.10.3 
│ └── inherits@2.0.1 
├── util-deprecate@1.0.2 
├── utils-merge@1.0.0 
├── validate-npm-package-license@3.0.1 
├── vendors@1.0.1 
├── vlq@0.2.2 
├── vm-browserify@0.0.4 
├── void-elements@2.0.1 
├── watchpack@1.3.1 
├─┬ webpack@2.5.1 
│ ├── ajv@4.11.8 
│ ├── memory-fs@0.4.1 
│ ├── source-list-map@1.1.2 
│ ├── supports-color@3.2.3 
│ ├─┬ uglify-js@2.8.29 
│ │ └── yargs@3.10.0 
│ └── webpack-sources@0.2.3 
├─┬ webpack-dev-middleware@1.11.0 
│ └── memory-fs@0.4.1 
├── webpack-hot-middleware@2.18.2 
├── webpack-merge@4.1.0 
├── webpack-node-externals@1.6.0 
├─┬ webpack-sources@1.0.1 
│ └── source-list-map@2.0.0 
├── whatwg-fetch@2.0.3 
├── whet.extend@0.9.9 
├── which@1.2.14 
├── which-module@1.0.0 
├── window-size@0.1.0 
├── wordwrap@0.0.2 
├── wrap-ansi@2.1.0 
├── wrappy@1.0.2 
├── ws@1.1.2 
├── wtf-8@1.0.0 
├── xhr2@0.1.4 
├── xml-char-classes@1.0.0 
├── xmlhttprequest-ssl@1.5.3 
├── xtend@4.0.1 
├── y18n@3.2.1 
├─┬ yargs@6.6.0 
│ ├── camelcase@3.0.0 
│ └── cliui@3.2.0 
├─┬ yargs-parser@4.2.1 
│ └── camelcase@3.0.0 
├── yeast@0.1.2 
└── zone.js@0.8.12
9:46:25 AM: npm
9:46:25 AM: WARN
9:46:25 AM: optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
9:46:25 AM: npm
9:46:25 AM: 
9:46:25 AM: WARN
9:46:25 AM: notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
9:46:25 AM: NPM modules installed
9:46:31 AM: npm
9:46:31 AM:  WARN
9:46:31 AM: deprecated bower@1.8.2: ...psst! Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn: https://bower.io/blog/2017/how-to-migrate-away-from-bower/
9:46:46 AM: BrandonCluffPortfolio@0.0.0 /opt/build/repo
└── bower@1.8.2
9:46:46 AM: npm
9:46:46 AM: 
9:46:46 AM: WARN
9:46:46 AM:  optional
9:46:46 AM:  SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm
9:46:46 AM: 
9:46:46 AM: WARN
9:46:46 AM: notsup
9:46:46 AM:  SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
9:46:47 AM: Installing bower components
9:46:48 AM: bower jquery-validation#1.14.0       not-cached https://github.com/jzaefferer/jquery-validation.git#1.14.0
9:46:48 AM: bower jquery-validation#1.14.0          resolve https://github.com/jzaefferer/jquery-validation.git#1.14.0
bower bootstrap#3.3.6                not-cached https://github.com/twbs/bootstrap.git#3.3.6
bower bootstrap#3.3.6                   resolve https://github.com/twbs/bootstrap.git#3.3.6
bower jquery-validation-unobtrusive#3.2.6       not-cached https://github.com/aspnet/jquery-validation-unobtrusive.git#3.2.6
bower jquery-validation-unobtrusive#3.2.6          resolve https://github.com/aspnet/jquery-validation-unobtrusive.git#3.2.6
9:46:48 AM: bower jquery#2.2.0                              not-cached https://github.com/jquery/jquery-dist.git#2.2.0
bower jquery#2.2.0                                 resolve https://github.com/jquery/jquery-dist.git#2.2.0
9:46:49 AM: bower jquery-validation#1.14.0                    download https://github.com/jzaefferer/jquery-validation/archive/1.14.0.tar.gz
9:46:49 AM: bower bootstrap#3.3.6                             download https://github.com/twbs/bootstrap/archive/v3.3.6.tar.gz
9:46:49 AM: bower jquery-validation-unobtrusive#3.2.6         download https://github.com/aspnet/jquery-validation-unobtrusive/archive/v3.2.6.tar.gz
9:46:49 AM: bower jquery#2.2.0                                download https://github.com/jquery/jquery-dist/archive/2.2.0.tar.gz
9:46:49 AM: bower jquery-validation-unobtrusive#3.2.6          extract archive.tar.gz
9:46:49 AM: bower jquery-validation-unobtrusive#3.2.6         resolved https://github.com/aspnet/jquery-validation-unobtrusive.git#3.2.6
9:46:49 AM: bower bootstrap#3.3.6                              extract archive.tar.gz
9:46:49 AM: bower jquery-validation#1.14.0                     extract archive.tar.gz
9:46:50 AM: bower jquery#2.2.0                                 extract archive.tar.gz
9:46:50 AM: bower jquery#2.2.0                                resolved https://github.com/jquery/jquery-dist.git#2.2.0
9:46:51 AM: bower jquery-validation#1.14.0                    resolved https://github.com/jzaefferer/jquery-validation.git#1.14.0
9:46:51 AM: bower bootstrap#3.3.6                             resolved https://github.com/twbs/bootstrap.git#3.3.6
9:46:51 AM: bower jquery-validation-unobtrusive#3.2.6          install jquery-validation-unobtrusive#3.2.6
9:46:51 AM: bower jquery#2.2.0                                 install jquery#2.2.0
9:46:51 AM: bower jquery-validation#1.14.0                     install jquery-validation#1.14.0
9:46:51 AM: bower bootstrap#3.3.6                              install bootstrap#3.3.6
9:46:52 AM: 
jquery-validation-unobtrusive#3.2.6 bower_components/jquery-validation-unobtrusive
├── jquery#2.2.0
└── jquery-validation#1.14.0

jquery#2.2.0 bower_components/jquery

jquery-validation#1.14.0 bower_components/jquery-validation
└── jquery#2.2.0

bootstrap#3.3.6 bower_components/bootstrap
└── jquery#2.2.0
9:46:52 AM: Bower components installed
9:46:52 AM: /opt/build/build.sh: line 427: dotnet: command not found
9:46:52 AM: Cached bower components
9:46:52 AM: Cached NPM modules
9:46:53 AM: Build complete: exit code: 127
9:46:53 AM: Cleaning up docker container
9:46:53 AM: Error running command: Build script returned non-zero exit code: 127
9:46:54 AM: An error occurred while building the site, skipping the deploy and cache refresh.
9:46:54 AM: Build script returned non-zero exit code: 127
9:46:55 AM: Finished processing build request in 2m11.21141446s

我不确定还有哪些其他信息对您有帮助。请告诉我,我会 post 它。

免责声明:我为 Netlify 工作

正如我们在您的帮助台票中就同一主题向您提到的那样,我们的部署环境非常裸露 - 您必须:

  1. 指定我们可以自动安装的依赖项 - npm/yarn deps、bower deps、gems 和 python 包。
  2. 自己安装其他依赖项。 'dotnet' 程序就是这种类型之一。我们的安装环境中没有它,因此您需要以某种方式将它的副本导入到环境中。似乎您可以在此处下载整个 SDK:https://www.microsoft.com/net/download/linux 然后您只需要导入构建所需的内容 - 如果我们必须下载整个 SDK,构建您的站点将花费很长时间,所以看看你能 trim 得到什么 'dotnet' 到 运行.

出于 #2 的目的,您可能需要在我们的构建环境中进行测试。如何做到这一点,以及您需要的有关构建环境的详细信息,例如 OS 类型,以便您可以下载正确版本的 SDK,如本文所述:

https://www.netlify.com/blog/2016/10/18/how-our-build-bots-build-sites/

这需要您做一些工作。这不会是微不足道的。除非您提出具体问题和示例,否则我们无法为免费客户提供更详细的帮助。

解决评论中的一些想法:

  • build.sh确实是我们的构建脚本
  • 9:46:52 AM: /opt/build/build.sh: line 427: dotnet: command not found 意思是字面意思是 运行 没有可用的 dotnet 命令——不是说某个配置文件是不见了。
  • 我们只尝试 运行 一次,因为您已将命令设置为使用 && 链接多个命令 - 一个失败,整个链失败,我们不需要 运行 第一次失败后再重复两次 :)