
私は Alpine Linux を初めて使用しており、Node.js 4 をインストールしようとしました。
によるとこれ次のようにバージョンを指定できます:
apk add nodejs=4
私もこれを試してみました。意味バージョンが理解できないかもしれないと思ったからです。こここれが4.3.0-r0
唯一利用可能なバージョンのようです:
apk add nodejs=4.3.0-r0
どちらのコマンドもエラーが発生します:
ERROR: unsatisfiable constraints: nodejs-6.2.0-r0: breaks: world[nodejs=4.3.0-r0]
何が間違っているのでしょうか?
答え1
利用可能なパッケージを一覧表示するには、これを使用します。
apk search --update 'node*'
1つ選択して次のようにインストールします。
apk add nodejs-lts --update
(1/4) Installing libgcc (5.3.0-r0)
(2/4) Installing libstdc++ (5.3.0-r0)
(3/4) Installing libuv (1.9.1-r0)
(4/4) Installing nodejs-lts (4.4.4-r0)
答え2
Alpine はローリング リリース ディストリビューションです。Node.js のパッケージは、使用している Alpine のバージョンによって異なります。
この例では、nodejs-4.3x が必要な場合は、Alpine 3.3 を使用する必要があります。
https://pkgs.alpinelinux.org/packages?name=nodejs&branch=&repo=&arch=&maintainer=
これは、公式リポジトリから任意の古いバージョンのパッケージをインストールする方法がまだないためです。
適切な回避策としては、lxc コンテナを使用することです。lxc コンテナでは、ホスト上のフットプリントを小さくして、使用する alpine バージョンを指定できます。