FROM node:12-alpine
RUN mkdir /project-api
WORKDIR /project-api
RUN apk add --update-cache python
ENV PYTHON=/usr/local/bin/
COPY ./package.json .
RUN npm cache clean --force
RUN rm -rf ~/.npm
RUN rm -rf node_modules
RUN rm -f package-lock.json
RUN npm install
EXPOSE 3000
我试图为我的项目创建一个节点容器,但是在npm install(bcrypt软件包)时会引发一些错误。我尝试在图像文件中安装python,但仍然显示错误。我正在附加错误屏幕
最佳答案
bcrypt
npm软件包取决于非JavaScript代码。这意味着它需要针对正在运行的特定体系结构进行构建。最初的“警告:试图下载”表示没有预构建的 Artifact ,因此它会从源头回溯到构建。
我看到的特定错误是Error: not found: make
,它表示在构建的镜像(make
)上未安装 node:12-alpine
。可以在 docker 文件中的先前步骤中安装它,或者切换到预安装了它的基本镜像(可能需要node:12
)。bcrypt
软件包在https://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructions#alpine-linux-based-images上有更具体的说明。
You need the following packages:
- build-base
- python
apk --no-cache add --virtual builds-deps build-base python
关于amazon-web-services - Docker在为节点应用程序运行npm install时引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60972238/