Node.js 在nginx alpine image上安装节点15

Node.js 在nginx alpine image上安装节点15,node.js,docker,alpine,Node.js,Docker,Alpine,对于上述Dockerfile,安装的版本是14.16.1,是否可以安装node 15.14.0?对于node.js版本15.14.0,请从边缘社区存储库安装软件包: FROM nginx:1.19.9-alpine RUN apk add --update nodejs npm apk add nodejs-current=15.14.0-r0 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community 这将把nodejs

对于上述Dockerfile,安装的版本是14.16.1,是否可以安装node 15.14.0?

对于node.js版本15.14.0,请从边缘社区存储库安装软件包:

FROM nginx:1.19.9-alpine
RUN apk add --update nodejs npm
apk add nodejs-current=15.14.0-r0 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
这将把nodejs current锁定到15.14.0版,因此它不会通过apk升级进行升级。为了允许将来升级,只需删除
=15.14.0-r0
部分即可

最新的包7.9.0也可以从edge安装,这次是从edge/主存储库:

FROM nginx:1.19.9-alpine
RUN apk add --update nodejs npm
apk add nodejs-current=15.14.0-r0 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
这一次,需要版本固定,否则apk将从Alpine 3.13、14.16.1-r1中选择稳定的
npm
版本

将其放在一起,生成的Dockerfile:

RUN apk add npm=7.9.0-r2 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main
节点和npm的版本检查:

FROM nginx:1.19.9-alpine
RUN apk add nodejs-current --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community && \
    apk add npm=7.9.0-r2 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main
RUN node --version && npm --version

非常感谢。它起作用了!顺便问一下,有没有回购协议npm@7? 我能买到的最新的是npm@6.14.12.Glad帮助@xuezhang。edge/community上最新的npm包似乎是7.9.0,几天前刚刚更新:。我已经更新了说明,包括最新的npm软件包。再次感谢!我想我终于了解了alpine软件包的工作原理。虽然网页显示最新版本是7.9.0,但通过运行您在帖子中提供的Dockerfile,我只能下载6.14.12。如果我运行“run apk add--update npm=7.9.0-r2 nodejs current=15.14.0-r0--repository=”。我将获得“#5 7.710错误:无法选择包:#5 7.740 npm-14.16.1-r1:#5 7.740中断:世界[npm=7.9.0-r2]”。我的道歉@xuezhang!我没有注意到npm位于边缘/主存储库,而不是节点的主/社区。我会更新我的答案。