所以我无法在 alpine linux 中安装 npm。我想也许我可以做一个apk add npm
,但显然apk search npm
什么也没有返回,即使在 之后也是如此apk update
。我正在从 nginx:alpine docker 镜像中试验这一切,即docker run -it nginx:alpine /bin/sh
编辑 1:我明白nodejs:高山dockerfile 构建node
,但我不明白它是如何构建的npm
编辑2:现在我知道npm在alpine上与nodejs一起安装,只是为了澄清一下,一开始我之所以没有意识到这一点,是因为在ubuntu 14.04上仍然sudo apt-get install nodejs
需要sudo apt-get install npm
(安装开发包例如gcc
)
答案1
对于最新版本的 Alpine(v3.8+),使用 npm 安装 nodejs 的正确方法是:
apk add --update nodejs npm
但是,npm
包依赖于nodejs
,因此您可以执行以下操作:
apk add --update npm
注意:自 Alpine 3.8 起没有 nodejs-npm 包。
答案2
答案3
我可能错了,但我认为npm
实际上是的依赖nodejs
。
我从未见过任何npm
单独安装的包管理器。似乎总是与yum install nodejs
、 或apt-get install nodejs
或一起打包apk add --update nodejs
。
答案4
这里的问题是最近才出现的,是由于 Alpine 的软件包存储库在 v3.5 和 v3.6 或 edge 之间的变化造成的。
在 v3.5 中nodejs
包含 npm,而在 v3.6 中nodesjs
不包含 npm,并且nodejs-npm
存在新包。
看这里适用于 Alpine 软件包。要查看您正在提取的软件包的版本,请查看/etc/apk/repositories