Angular環境構築後、他のメンバーは簡単に構築できるように

スポンサードサーチ

課題

Angularの環境構築時にdocker-composeコマンドのみで実現させようとしたが、angular-cliインストール時に以下の質問が出て止まってしまう。

? Would you like to share anonymous usage data about this project with the Angular Team at
Google under Google’s Privacy Policy at https://policies.google.com/privacy? For more
details and how to change this setting, see http://angular.io/analytics. (y/N)

ディレクトリ構成

構成はこんな感じで。
angular-app: angularプロジェクトのディレクトリ。(他にもファイルはあるがここでは省略)

.
├── angular-app/
│     ┣━ package.json
│     ┗━ package-lock.json
│
└── docker/
│     ┗━ angular-app/
│           ┗━ Dockerfile
│
└── docker-compose.yml
FROM node:14.17

WORKDIR /projects/angular-app

COPY angular-app/package.json ./
COPY angular-app/package-lock.json ./

RUN npm install -g @angular/cli
version: '3'
services:
  angular-app:
    build:
      context: .
      dockerfile: ./docker/angular-app/Dockerfile
    volumes:
      - ./angular-app:/projects/angular-app
    entrypoint:
      - sh
    command:
      - -c
      - |
        npm install
        ng serve --host 0.0.0.0 --port 4200
    ports:
      - "4200:4200"
    tty: true

これのみで構築できたはずが、、、

後は、メンバーは以下のコマンドだけで構築できる。
、、、はずだったのだが、冒頭の質問が出て、(y/N)が答えられず固まってしまう。

$ docker-compose build
$ docker-compose up

解決方法

issueもあるようなのだが、どうやら NG_CLI_ANALYTICS を定義すればスキップできるらしい。
下記をdocker-compose.yml に追記すれば、うまくスキップできた。

environment:
  - NG_CLI_ANALYTICS=false
version: '3'
services:
  angular-app:
    build:
      context: .
      dockerfile: ./docker/angular-app/Dockerfile
    volumes:
      - ./angular-app:/projects/angular-app
+   environment:
+     - NG_CLI_ANALYTICS=false
    entrypoint:
      - sh
    command:
      - -c
      - |
        npm install
        ng serve --host 0.0.0.0 --port 4200
    ports:
      - "4200:4200"
    tty: true

これで他のメンバーにも簡単にAngular環境を提供できました。

余談

NG_CLI_ANALYTICS」 で検索してみると、下記の情報もあったが自分はうまくいかなかった。
(書き方が悪かっただけかも?)

environment:
    NG_CLI_ANALYTICS: "ci"

もし、同様の方がいましたら、NG_CLI_ANALYTICS=false で試してみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。