Alpine Linuxでnpmをインストールする方法


66

そのため、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ではsudo apt-get install nodejsまだsudo apt-get install npm(開発パッケージをインストールするなどgcc)が必要だからです

回答:


29

Alpine(v3.8 +)の最新バージョンの場合、npmでnodejsをインストールする正しい方法は次のとおりです。

apk add --update nodejs npm

ただし、npmパッケージはに依存するnodejsため、次のことができます。

apk add --update npm

注:Alpine 3.8以降、nodejs-npmパッケージはありません。


1
これは今受け入れられた答えであるはずです
オマーS.

173

APKマネージャーに問題がありました。

パッケージnodejsはNPMをインストールしなくなりました(pkgs.alpinelinux.orgを参照)nodejs-npmをインストールする必要があります

apk add --update nodejs nodejs-npm

私はこれを理解できません。Npmはノードのコア依存関係である必要があります。npminstall npm @ latestはノードバージョン自体の影響を受けるため、互換性がなくなる可能性があります
...-dmi3y

4
これは、最新の高山の画像で受け入れられた答えでなければなりません。npmはnodejsだけではインストールされません
でした-kevinc

同意しました、これは通常依存関係ですが、nodejsを手動でインストールする場合(現在は6.7が非推奨であるため「edge」リポジトリからもインストールしていました)、nodejs-npmを個別にインストールする必要があります:apk add nodejs = 6.11.2-r0 nodejs-npm = 6.11.2-r0 --update-cache --repository dl-cdn.alpinelinux.org/alpine/edge/main --allow-untrusted
Anton Babushkin

5
副次的な質問:この回答はうまく機能しますがnodejs-npmpkgs.alpinelinux.org/packagesで見つけることができないようです。npm仕事をするパッケージもあります。それは何らかのエイリアスですか?
タッドリスピー

29

私は間違っているかもしれませんが、npm実際にはの依存関係だと思いますnodejs

パッケージマネージャーがnpm単独でインストールされることはありません。は常にyum install nodejs、またはapt-get install nodejs、またはに同梱されているようapk add --update nodejsです。


1
スーパーユーザーへようこそ。あなたが正しいかどうかはわかりませんが、ちょっとしたフィードバックだけです。回答は最終的な解決策となることを目的としています。もう少し担当者がいれば、役に立つ推測でコメントを投稿できます。回答の投稿については、まず調査して、情報を確認してから投稿してください。さらに、参照を引用することで、より良い回答が得られます。
fixer1234 16

16
nodejsのインストール時にapkがデフォルトでnpmをインストールしないため、これは受け入れられなくなりました
-Panthro

誰も良い答えを提供しなかったという理由だけで賛成
アレクサンダーミルズ

1
Alpine 3.6+の「apk add --update nodejs-npm」だと思います
Ali Cheaito


4

ここでの問題は最近のものであり、v3.5とv3.6またはedgeの間のAlpineのパッケージリポジトリの変更によるものです。

v3.5にnodejs含まれるnpm v3.6にnodesjsはnpmが含まれず、新しいnodejs-npmパッケージが存在します。

Alpineパッケージについては、こちらをご覧ください。取り出しているパッケージのバージョンを確認するには、次の内容を見てください/etc/apk/repositories



0

私はちょうどこれをしなければならなかったし、npmはnode.jsの依存関係ではなく(少なくとも今はalpineでは)、別々にインストールする必要があることを確認できます

すなわち apk add --update npm

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.