相关疑难解决方法(0)

如何在最新的节点docker镜像上将npm升级到npm @ 5?

在本地,我通过以下方式成功安装了npm @ 5:

$ npm install npm@5 -g
$ npm -v
$ 5.0.0
Run Code Online (Sandbox Code Playgroud)

在本地,我可以运行npm设置就好了(它基本上是npm i && tsc)

$ npm run setup 
updated 102 packages in 3.499s
Run Code Online (Sandbox Code Playgroud)

然而,现在我还有一个基于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"]
Run Code Online (Sandbox Code Playgroud)

这将在以下期间失败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) …
Run Code Online (Sandbox Code Playgroud)

npm docker alpine-linux

12
推荐指数
1
解决办法
4782
查看次数

标签 统计

alpine-linux ×1

docker ×1

npm ×1