こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
PHPエンジニアとして9年~の経験があります。
CentOS7で新しいバージョンのnodejsが必要になり、インストールした話です。
例によってそのままyum installすると古いものが入ってしまいますので、最新を入れたい場合は必ずリポジトリを更新します。
puppeteerなどを使いたい場合は新しいものでないと動かないので…
インストールはGitHub推奨(2023年)
以前の「リポジトリ参照先を変更して~」を実行すると、Warningが出るようになりました。
赤警告で驚きますが、要は「これもう使うのやめるから別の方法でやってよね、Gitから取ってきて云々してよね」っていってるだけです。
そのため、今CentOS7にnodejsを入れるときはNodesourve Node.js RPMからyum installする方法になります。
こちらは16のバージョンを指定してインストールさせています。
ただしこちらの方法だとしてもGitHubから取るのを推奨するよ、と書いてあるので、特別バージョン指定が要らない場合はGitHubからcloneしてくる方法が良いと思います。
なお、2023年10月時点の最新は20.xです。
CentOS7は18以上未対応
最新版は20ですが、CentOS7は未対応のようです。
実際やってみるとエラーが出て入れられないと思います。
- nodeのv18を使ったらエラーになった(CentOS7) – ITのプロへ
- Node.js v12 -> v16にyumでアップデートしてみた。(CentOS 7) #Node.js – Qiita
もし入れるのであれば、先に紹介したように16.xを入れてください。
リポジトリ参照先を変更する(以前の方法)
以下の方法は現在使えません。参考までに残しておきます。
何もしないでyum installをすると古いnodejsが入ってしまうので、まずはリポジトリ参照先を変更します(2020年6月では14が最新でした)。
setup_14.xの数字を変えることで指定のバージョンをyum install)できるようになります。
このとき、
「エラー: トランザクション ロックを(/var/lib/rpm/.rpm.lock 上に)作成できません。(許可がありません)」
というエラーが出ることがあります。sudoでもダメなときはsu -uでスーパーユーザーになってからやる(=管理者)と成功します(スーパーユーザーの終了はexitです)。
nodejsをインストールする
更新できたらyum install nodejsでインストールします。nodejsを入れるとnpmも一緒についてきます。