だから私はAlpine Linuxにnpmをインストールすることができません。私はおそらくapk add npm
を実行できるだけだと思ったが、どうやらapk search npm
の後でもapk update
は何も返さないようだ。私はnginx:Alpine docker image、つまりdocker run -it nginx:Alpine /bin/sh
からこれらすべてを試しています。
編集1: nodejs:Alpine dockerfileがどのようにnode
をビルドするのかわかりますが、どうやってnpm
がビルドされるのかわかりません。
編集2:npmはnodepと一緒にAlpineにインストールされることを私は知っています、そして明確にするために、これが最初に私には明らかでなかった理由はubuntu 14.04でもSudo apt-get install nodejs
がまだSudo apt-get install npm
を必要とするからです。 gcc
)
私は間違っているかもしれませんが、npm
は実際にはnodejs
の依存関係であると思います。
私はnpm
を単独でインストールするパッケージマネージャの種類を見たことがありません。常にyum install nodejs
、apt-get install nodejs
、apk add --update nodejs
が同梱されているようです。
Apkマネージャに問題がありました。
パッケージnodejsは、NPMをインストールしていません( pkgs.alpinelinux.org を参照)。インストールする必要があります。 nodejs-npm
apk add --update nodejs nodejs-npm
apk update && apk add nodejs
は私のためにnpm
バイナリをインストールしました。
ここでの問題は最近のものであり、v3.5とv3.6またはEdgeの間のAlpineのパッケージリポジトリの変更によるものです。
V3.5ではnodejs
にnpmが含まれていましたv3.6ではnodesjs
にnpmは含まれず、新しいnodejs-npm
パッケージが存在します。
Alpineパッケージについては こちら をご覧ください。どのバージョンのパッケージを引っ張っているのかを見るためには、/etc/apk/repositories
の内容を見てください。
最近のバージョンのAlpine(v3.8 +)では、npmを使ってnodejsをインストールする正しい方法は次のとおりです。
apk add --update nodejs npm
しかし、npm
パッケージはnodejs
に依存しているので、次のことができます。
apk add --update npm
注意:Alpine 3.8以降、nodejs-npmパッケージはありません。
npmはnodejsと連動しています。 apk add nodejsでnodeをインストールできない場合は、まずそれを修正する必要があります。ステップ1 - コミュニティリポジトリ を/ etc/apk /リポジトリリストに追加しましたか?そうでなければ、そうすることは非常に便利です。詳細: https://wiki.alpinelinux.org/wiki/Enable_Community_Repository
私はこれをしなければならなかったし、npmはnode.jsの依存関係ではなく(少なくとも現時点ではAlpineで)、別々にインストールする必要があることを確認できます。
すなわちapk add --update npm