Angular CLI Docker开发环境

时间:2019-12-23 17:36:44

标签: node.js angular docker npm angular-cli

我想创建一个可以帮助我进行Angular CLI应用程序开发的docker映像。我不想在正在开发的机器上安装node或npm,我只想安装docker。我想运行一个docker image,这给了我一个bash终端,我可以在其中运行npm installng g c MyNewComponentnpm install New3rdPartyLibng serve等。

我取得了一些合理的进展。到目前为止,我已经有了dockerfile。

FROM ubuntu:19.10

WORKDIR /ui

RUN apt-get update -yq
RUN apt-get upgrade -yq

RUN apt-get install curl -yq
RUN curl --silent --location https://deb.nodesource.com/setup_13.x | bash -
RUN apt-get install nodejs -yq
RUN apt-get install git -yq

RUN npm install -g npm
RUN npm install -g @angular/cli

ENTRYPOINT /bin/bash

我将其构建为名为ag-dev-env的图像并使用

启动它

docker run --rm -it -v $PWD:/ui -w /ui -p 4200:4200 -u root ag-dev-env /bin/bash

这很完美,我可以运行ng命令和一些npm命令

我的主要问题是我无法运行npm install,因为目录权限存在某些问题。我收到以下错误。

npm WARN tar ENOENT: no such file or directory, open '/ui/node_modules/.staging/rxjs-b34353e6/operators/pluck.js.map'

npm ERR! Command failed: git clone --depth=1 -q -b fix-redirects git://github.com/timaschew/cogent.git /root/.npm/_cacache/tmp/git-clone-2b29f5f2
npm ERR! fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-2b29f5f2': Permission denied
npm ERR! 

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-12-23T14_36_16_225Z-debug.log

我做了很多谷歌搜索,却没有得到任何地方:(

1 个答案:

答案 0 :(得分:0)

您需要为缓存配置其他路径。默认值为当前用户的主目录。您的情况是/root/.npm

npm config set cache /var/something --global 

我建议您将缓存指向主机上的安装目录。