0

我一直在嘗試在Google App Engine中部署Angular2應用程序,並且遇到問題。在Google Cloud上部署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構建了應用程序。

在我能看到的日誌中沒有任何價值。

任何想法可能是什麼問題以及如何解決這個問題?

+0

你能分享你採取了哪些步驟來解決這個問題? –

+0

爲了達到這裏我剛剛運行'gcloud app deploy'。我已經必須移動'「@ angular/cli」:「^ 1.0。0" ''到除了'devDependencies'在'package.json' dependencies'因爲有與沒有'@安裝角cli'和腳本試圖運行'NG serve'和失敗,所以只是一個問題確保有一個與我在谷歌的雲應用程序沒有問題,我下載並部署了'雲紙板viewer'樣本項目在codelabs.developers.google.com/codelabs/cloud-cardboard-view ER/...和部署沒有問題。再次,我沒有問題在本地運行。 – rpc80

回答

0

問題:ERROR: (gcloud.app.deploy) Error Response: [9]通常由依賴問題導致的not found的錯誤造成的。

此類似問題或sh: 1: ng: not found已通過創建Dockerfile here進行了報告和解決。

在這篇原文中,似乎yarn start v0.21.3是問題所在。


SOLUTION:

"devDependencies": { 
    "@angular/cli": "1.4.2", 
    ... 
    ... 
}, 

注::爲了得到任何通過使用角-CLI將包含根package.json文件中包含的示例的devDependencies部分創建的Angular2項目其他依賴關係,如@angular/material和命令如yarn start v0.21.3可以工作。 Dockerfile必須包含通過命令行安裝這些依賴關係的命令。

創建app.yamlDockerfile如下面的例子所述的package.json文件的相同的路徑內:

angular2-example-app 
├── e2e 
├── node_modules 
├── src 
├── package.json 
├── app.yaml 
├── Dockerfile 

app.yaml文件將需要以下設定:(app.yaml documentation):

# [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"] 

部署應用程序到你的谷歌的雲應用引擎:gcloud app deploy

gcloud documentation

相關問題