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

相关问题