nodenv を使用して node.js を linux にグローバルインストール


nodenv によるバージョン管理ができるようにしながら node.js を Amazon Linux 2にインストールした時のメモです。
※解説用にフルパスに書き換えるなど、実際に使用したコマンドを修正したので間違っている箇所があるかもしれません。

手順

コマンド

まずはざっと使用したコマンドを全て記載します。

git clone git://github.com/nodenv/nodenv.git /usr/local/nodenv
mkdir /usr/local/nodenv/plugins
git clone git://github.com/nodenv/node-build.git /usr/local/nodenv/plugins/node-build
git clone https://github.com/pine/nodenv-yarn-install.git /usr/local/nodenv/plugins/nodenv-yarn-install
cd /usr/local/nodenv && src/configure && make -C src
vim /etc/profile.d/nodenv.sh
/etc/profile.d/nodenv.sh
export PATH="/usr/local/nodenv/bin:$PATH"
export NODENV_ROOT="/usr/local/nodenv"
eval "$(nodenv init -)"
exit # 一度ログアウト
ssh xxxxx.xxx # リポジトリへ再度SSH
curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash

簡単な解説

上から順に説明していきます。

git clone git://github.com/nodenv/nodenv.git /usr/local/nodenv

こちらで nodenv をリポジトリからダウンロードするのですが、
グローバルにインストールしたいので、今回は /usr/local へインストールしました。

mkdir /usr/local/nodenv/plugins

nodenv はインストールコマンド( nodenv install 10.1.0 ) などを使用する場合、
プラグインとして node-build をインストールする必要があるので plugins フォルダを作成します。
フォルダ名は間違えないようにしてください。
また、個人的に node.js をインストールするときに yarn も合わせてインストールして欲しかったので、
yarn インストール用のプラグインも追加します。

git clone git://github.com/nodenv/node-build.git /usr/local/nodenv/plugins/node-build

こちらが node-build です。
install は自分でやるという方は必要ないので飛ばしてください。

git clone https://github.com/pine/nodenv-yarn-install.git "$(nodenv root)/plugins/nodenv-yarn-install"

こちらが yarn インストール用のパッケージです。
これを入れておくと、 nodenv install 10.0.0 などで node.js をインストールしたときに自動で yarn もインストールしてくれます。

cd /usr/local/nodenv && src/configure && make -C src

nodenv から指定されているコマンドです。

vim /etc/profile.d/nodenv.sh

こちらで読み込みスクリプトを作成します。
/etc/profile はすべてのユーザーで読み込まれるbash_profileですが、そこに記載されている通り、
/etc/profile.d/ フォルダにある .sh 拡張子のファイルを全て読み込んでくれます。
そこに、パスを通す処理や init の処理を追加してあげることで、全てのユーザーに共通化できます。
中身はこちらです。
vim以外のエディターを使用される場合は適宜変更してください。

/etc/profile.d/nodenv.sh
export PATH="/usr/local/nodenv/bin:$PATH"
export NODENV_ROOT="/usr/local/nodenv"
eval "$(nodenv init -)"

この後

この後は、一旦ログアウトしてから再度アクセスすることにより
profile が読み込まれた状態=nodenvが有効になっている状態にします。
正常にインストールされているか確認するために、公式で提供されている下記のコマンドを実行します。

curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash

実行したときにこのような結果が出れば成功です。

Checking for `nodenv' in PATH: /usr/local/nodenv/bin/nodenv
Checking for nodenv shims in PATH: OK
Checking `nodenv install' support: /usr/local/nodenv/plugins/node-build/bin/nodenv-install (node-build 4.6.4-9-g3a5ae01b)
Counting installed Node versions: 1 versions
Auditing installed plugins: OK

手順は以上になります。

お読みいただきどうもありがとうございました。