如何在 alpine linux 中安装 npm

Sha*_*adi 128 linux alpine-linux

所以我无法在 alpine linux 中安装 npm。我想也许我可以只做一个apk add npm但显然apk search npm什么都不返回,即使在apk update. 我正在从 nginx:alpine docker 图像中尝试所有这些,即docker run -it nginx:alpine /bin/sh

编辑 1:我可以看到nodejs:alpine dockerfile 是如何构建的node,但我不明白它是如何构建的npm

编辑 2:现在我知道 npm 在 alpine 上与 nodejs 一起安装,只是为了澄清起见,起初这对我来说并不明显的原因是在 ubuntu 14.04 上 asudo apt-get install nodejs仍然需要一个sudo apt-get install npm(例如安装开发包gcc

小智 199

我遇到了 apk 管理器的问题。

nodejs不再安装 NPM(请参阅pkgs.alpinelinux.org)您必须安装 nodejs-npm

apk add --update nodejs nodejs-npm
Run Code Online (Sandbox Code Playgroud)

  • 附带问题:虽然这个答案效果很好,但我似乎无法在 https://pkgs.alpinelinux.org/packages 上找到 `nodejs-npm`。有 `npm` 包也可以完成这项工作。它是某种别名吗? (7认同)
  • 这应该是最新高山图像的公认答案。仅使用 nodejs 未为我安装 npm (6认同)
  • nodejs-npm 不再可用,现在只是“npm” https://pkgs.alpinelinux.org/package/v3.14/main/x86_64/npm (4认同)
  • 我不明白。npm 应该是 node 的核心依赖,npm install npm@latest 可能会受 node 版本本身的影响,所以它们不兼容...... (3认同)

小智 134

对于最新版本的 Alpine (v3.8+),使用 npm 安装 nodejs 的正确方法是:

apk add --update nodejs npm

但是,npm包取决于nodejs,因此您可以执行以下操作:

apk add --update npm

注意:由于 Alpine 3.8 没有 nodejs-npm 包。

  • @JollyRoger 指定 apk 命令 `apk add --update nodejs=12.20.1-r0` 的版本 (9认同)
  • 我们如何安装特定版本的 nodejs? (3认同)
  • 2022 年,`apk add --update nodejs npm` 对我有用。 (2认同)

小智 31

我可能是错的,但我认为npm实际上是nodejs.

我从未见过npm单独安装包管理器的任何风格。似乎总是带有yum install nodejs, or apt-get install nodejs, or apk add --update nodejs

  • 这不再被接受,因为 apk 在安装 nodejs 时默认不安装 npm (19认同)

小智 9

apk update && apk add nodejsnpm为我安装了二进制文件。

  • 争论某些东西是否有效应该包括事物的版本...... (3认同)

小智 5

这里的问题是最近的一个,是由于在 v3.5 和 v3.6 或 edge 之间 Alpine 的包存储库发生了变化。

在 v3.5 中nodejs包含 npm 在 v3.6nodesjs中不包含 npm 并且nodejs-npm存在新包。

有关Alpine 包的信息,请参见此处。要查看您从哪个版本的包中提取,请查看以下内容/etc/apk/repositories