docker - 如何使用 docker 从私有(private)存储库安装包

标签 docker npm npm-install

我正在从我的私有(private)存储库安装一个包。我可以使用以下方式安装它: npm i -S git+https://oauth2:XXXXXXX@gitlab.com/mygroup/acl-api.git

我正在使用 docker 容器,但在安装过程中出现错误:

npm ERR! path git
npm ERR! code ENOENT
npm ERR! errno ENOENT
npm ERR! syscall spawn git
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t https://oauth2:XXXXXXX@gitlab.com/mygroup/acl-api.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

如何解决?

我的 docker 文件:

FROM node:alpine

COPY package.json package.json
COPY src src
COPY .babelrc .babelrc

RUN npm install  
RUN npm run gitlab-build

RUN ls
EXPOSE 8080
CMD ["npm", "run", "docker-start"]

最佳答案

如果你想让node:alpinenpm<,你应该添加gitopenssh-client以及其他包 拉取存储库

FROM node:alpine

RUN apk add --update \
  python \
  python-dev \
  py-pip \
  build-base \
  git \
  openssh-client \
&& pip install virtualenv \
&& rm -rf /var/cache/apk/*

COPY package.json package.json
COPY src src
COPY .babelrc .babelrc

RUN npm install  
RUN npm run gitlab-build

RUN ls
EXPOSE 8080
CMD ["npm", "run", "docker-start"]

关于docker - 如何使用 docker 从私有(private)存储库安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57331050/

相关文章:

javascript - 如何使用 ES6 模块导入 jQuery Masonry?

mysql - Docker mysql 5.7 无法在 OSX 上启动

reactjs - 如何在 docker 镜像中运行 Electron 应用程序?

mongodb - 由于缺少 featureCompatibilityVersion 文档,无法启动 mongod。 Docker 问题

node.js - 无法发布版本到 npm?

ember.js - Ember 包.json : dependencies vs devDependencies

azure - Azure devops 中的 Docker 任务不接受 "$(pwd)' 作为变量

git - 如何强制 NPM 与 master 从 repo 获取包的最后一次提交?

javascript - 在现有 package.json 中安装新的依赖项

node.js - 当我尝试安装 Angular 软件包 : 时收到 npm 基金警告