我正在构建一个Node.js Docker镜像:docker build . -t imagename
但是我一直收到关于npm版本的警告
npm WARN deprecated This version of npm lacks support for important features,
npm WARN deprecated such as scoped packages, offered by the primary npm
npm WARN deprecated registry. Consider upgrading to at least npm@2, if not the
npm WARN deprecated latest stable version. To upgrade to npm@2, run:
npm WARN deprecated
npm WARN deprecated npm -g install npm@latest-2
npm WARN deprecated
npm WARN deprecated To upgrade to the latest stable version, run:
npm WARN deprecated
npm WARN deprecated npm -g install npm@latest
npm WARN deprecated
npm WARN deprecated (Depending on how Node.js was installed on your system, you
npm WARN deprecated may need to prefix the preceding commands with `sudo`, or if
npm WARN deprecated on Windows, run them from an Administrator prompt.)
npm WARN deprecated
npm WARN deprecated If you're running the version of npm bundled with
npm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTS
npm WARN deprecated will be bundled with a version of npm@2, which has some small
npm WARN deprecated backwards-incompatible changes made to `npm run-script` and
npm WARN deprecated semver behavior.
但是我已经更新了Node.js版本,但仍然无效:
node -v
v8.9.3
npm -v
5.6.0
我已经运行npm -g install npm@latest
但仍无效。
Dockerfile
FROM alpine:3.1
# Update
RUN apk add --update nodejs
# Install app dependencies
COPY package.json /src/package.json
RUN cd /src; npm -g install npm@latest
# Bundle app source
COPY . /src
CMD ["node", "--harmony","/src/app.js"]
可能是什么原因?我能够使用节点运行应用程序就好了。
我正在运行Ubuntu 16.04.3 LTS
答案 0 :(得分:1)
在Dockerfile中,我使用了最新的alpine版本FROM alpine:3.7
,但它确实有效。
答案 1 :(得分:0)
在构建图像之前,您必须运行docker image pull node
以在本地下载最新节点(包括npm)图像。
希望有所帮助!