繁体   English   中英

仅在 Docker 中构建时不支持的引擎节点/NPM

[英]Unsupported engine node / NPM only when building in Docker

我的package.json有一个依赖项,它本身具有以下依赖项:

"node-rdkafka": "^2.5.0",

在我的本地机器上使用nvm并将我的节点版本设置为8.9.1 ,我的npm版本是5.5.1 ,我可以成功运行

npm install node-rdkafka@2.7.1

但是当从我的 docker 镜像中运行相同的东西(即npm install )时:

FROM node:10.13.0-alpineFROM node:8.9.1-alpine

我收到以下错误:

npm ERR! notsup Unsupported engine for node-rdkafka@2.7.1: wanted: {"node":">=12.0.0"} (current: {"node":"10.13.0","npm":"6.4.1"})
npm ERR! notsup Not compatible with your version of node/npm: node-rdkafka@2.7.1
npm ERR! notsup Not compatible with your version of node/npm: node-rdkafka@2.7.1
npm ERR! notsup Required: {"node":">=12.0.0"}
npm ERR! notsup Actual:   {"npm":"6.4.1","node":"10.13.0"}

关于这种不一致的任何想法?

我显然不需要这么高的节点版本。 但它说我愿意。

package.json的engines 属性允许我们建立一系列版本。

>=12是要求版本 12 或更高版本的节点。

因此,解决方案是安装请求的版本:

FROM node:12

无论如何,我建议在此处查看 Docker 当前支持的版本。

尝试在Docker上npm install之前删除package-lock.json

rm package-lock.json
npm i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM