[英]Error deploying Angular2 app on Google Cloud
我一直在嘗試使用Google App Engine部署Angular2應用程序,並且遇到了問題。 嘗試部署時出現以下錯誤:
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [9]
Application startup error:
yarn start v0.21.3
$ ng serve
** NG Live Development Server is running on http://localhost:8080 **
52% building modules 357/395 modules 38 active .../position/overlay-position-builder.js
給定.../position/overlay-position-builder.js
行,該錯誤似乎指向@angular/material
。
我使用@angular-cli
構建了該應用程序。
我看到的日志中沒有任何價值。
關於這個問題可能是什么以及如何解決這個問題的任何想法?
問題: ERROR: (gcloud.app.deploy) Error Response: [9]
通常是由依賴項問題引起的,導致not found
錯誤。
已經通過使用在此處創建Dockerfile的方式報告並解決了這個類似的問題,或sh: 1: ng: not found
。
在此原始帖子中,似乎出現了yarn start v0.21.3
。
解決方案:使用angular-cli創建的Angular2項目將包含具有以下程序的devDependencies部分的根package.json
文件:
"devDependencies": {
"@angular/cli": "1.4.2",
...
...
},
注意:要獲取其他依賴關系,例如@angular/material
和類似yarn start v0.21.3
命令,請yarn start v0.21.3
。 Dockerfile
必須包含用於通過命令行安裝這些依賴項的命令。
在package.json文件的相同路徑內創建一個app.yaml
和Dockerfile
,如下例所示:
angular2-example-app
├── e2e
├── node_modules
├── src
├── package.json
├── app.yaml
├── Dockerfile
app.yaml
文件將需要以下設置:( app.yaml文檔 ):
# [start app_yaml]
runtime: custom
env: flex
Dockerfile
將需要用戶可以在命令行上調用的所有命令來組裝映像。
注意:在以下示例中運行了npm install -g @angular/cli
命令:
FROM alpine:latest
MAINTAINER yourname
# update alpine linux
RUN apk update && apk upgrade && \
apk add nodejs && \
# may comment this line in my computer.
apk add nodejs-npm && \
npm install -g @angular/cli
# add source code to images
ADD . /angular2-example-app
# switch working directory
WORKDIR /angular2-example-app
# install dependencies
RUN npm install
# expose port 4200
EXPOSE 4200
# run ng serve on localhost
CMD ["ng","serve", "--host", "0.0.0.0", "--disable-host-check"]
將應用程序部署到您的Google Cloud App Engine: gcloud app deploy
( gcloud文檔 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.