質問: 1:6.14.3-1.el7`と書いてあるのですが普通にAvailableなんですよね。 それでどうやって解決したかというと、npmを対象から外しました。 ``` RUN yum install -y nodejs ``` ↑↑で今の所問題無いんですが、むしろどうして修正前のソースで昔は動いていたのか気になります。 昔と今でnode/npmのインストール方法って違うんでしょうか?
回答: > > 昔と今でnode/npmのインストール方法って違うんでしょうか? > > > 今を知りたければ公式サイトのダウンロードの項目読みましょう。 > > Dockerコンテナにnodeとnpmをインストールしようとしたのですが、以下のようにエラーに当たっていました。 > > > どのイメージがベースになっているかも書くようにしてくださいね。 今回のNode.jsのインストーラーはRedHut系は全て共通でしたが、CentOSの5、6、7でガラリとインストール方法が違うパッケージもあります。 ツッコミ終わり そうですよ。 Node.jsはどっぷりnpmに依存しているので、 かなり前からNode.jsを入れると勝手にnpmがバンドルされる作りに変更されていたはずです。 Qiitaや個人のブログでは未だにnpmも一緒に指定するよう書いてある記事もあるかと思いますが、 公式サイト以外はあくまで参考という事を忘れないでくださいね。 RedHut系という事で公式サイトを見に行きましたが... Installing Node.js via package manager #Enterprise Linux and Fedora > > > ``` > $ curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash - > $ sudo yum -y install nodejs > ``` > > こんな感じで依存関係を解消してインストール! 公式サイトに書いてあるように`npm`パッケージの指定は不要です。