JavaScript

AmazonLinuxにNodeJSのソースをyumでインストールする

何気なく epel のリポジトリから nodejs をインストールしたら npm の実行でハマったのでメモ。

例えばこんなエラーです。

これは、以下のどちらかで対処できると書かれているのですが、他にもいたるところでエラーに遭遇します。

npm config set registry http://registry.npmjs.org/

npm config set strict-ssl false

npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY

今回は、この問題を回避して AmazonLinux で yum から npm 環境を構築したいと思います。

epelからのnodejsのインストール

そもそも、yum ではリポジトリを指定しないと node のパッケージが出てきません。

epel を指定するとパッケージが該当するのですが、いかにもバージョンが古いです。

0.10.x 系は 2016 年まで遡ります。なぜ、epel だとこんなに古いものを取り扱っているのかは謎です。

Node.js 0.10.48 – 2016-10-18

Node.jsリリース一覧

これでは、npm の他のパッケージとの依存関係エラーも多く発生するわけです。

nodesourceからのnodejsのインストール

nodejs の公式のインストール手順を見ると CentOS 系だと以下の手順になるようです。

$ curl -sL https://rpm.nodesource.com/setup_10.x | bash –
$ yum install gcc-c++ make
$ yum install nodejs

nodejs/node

nodesource/distributions(rpm)

以下の記事でも書いたように newman を動かしたいので、ここでは v10 系を入れていますが、newman を使わない場合は最新の v12 を入れておくのがいいと思います。

Node12のNewmanでCannot read property '_destroySSL' of undefined以前、「PostmanとNewmanを使って複数のAPIを連続して実行させる」という記事を書きましたが、久し振りにローカル実行してみたら...

これで以下のバージョンが入りました。

$ node -v
v10.16.3

$ npm -v
6.9.0

よくよく見ると、過去に自分でもこの手順でインストールしていました。たまにしかやらないとダメですね。

PostmanとNewmanを使って複数のAPIを連続して実行させるこれまでは、提供されている API を利用するケースが大半でしたが、最近は API を自分で作成する機会が増えてきました。 どちらの立...

AmazonLinux の標準リポジトリから yum でサクッと入ってくれるといいのですが、AmazonLinux2 ではこの辺は改善されているのでしょうか?