【发布时间】:2017-12-19 17:51:29
【问题描述】:
在本地,我已经通过以下方式成功安装了 npm@5:
$ npm install npm@5 -g
$ npm -v
$ 5.0.0
在本地,我可以很好地运行 npm 设置(基本上是 npm i && tsc)
$ npm run setup
updated 102 packages in 3.499s
但现在我还有一个基于 node:7.10-alpine 映像的 Dockerfile,如果我尝试在那里安装 npm@5 会中断。
我的 Dockerfile 看起来像这样:
FROM node:7.10-alpine
WORKDIR /usr/hive-updater/
ENV LAST_UPDATED=2016-12-08 NPM_CONFIG_LOGLEVEL=warn TERM=xterm PATH="$PATH:/usr/hive-updater/node_modules/.bin"
RUN npm install npm@5 -g && npm -v
COPY ./ ./
RUN npm run setup
CMD ["node"]
这将在npm -v 期间失败:
module.js:472
throw err;
^
Error: Cannot find module 'semver'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/unsupported.js:2:14)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
如何在我的 docker 容器上获取最新的 npm?
【问题讨论】: