Linux(Ubuntu)にnodenvを導入する
LinuxにNodeを入れたときにも、nodenvでバージョン管理ができたほうが楽なので、Linuxでのnodenvの入れ方について備忘録的にまとめておきます。
環境によってNodeのバージョンを切り分けられるものは nodebrew, ndenv, nodenvなど複数あるのですが、
プロジェクトごとに切替可能で、最新のものであるnodenvを今回は使います。
Macに導入するときの記事はこちらに以前記載しています。
nodenvを導入する方法 | mintsu's blog
目次
環境
OS: Ubuntu 20.04
今回Ubuntuを使っていますがCentOSなどでも同様の手順になると思います。
導入手順
Linuxでnodenvの導入をするには、githubからチェックアウトすることで導入できます。
nodenvのclone
$ git clone https://github.com/nodenv/nodenv.git ~/.nodenv
PATHの追加
PATHを追加します。
$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc
初期化のためnodenv initコマンドを打つ必要がありますが、ログイン時に自動的に読まれるようにbashrcに記述しておきます
$ echo 'eval "$(nodenv init -)"' >> ~/.bashrc
bashrcを再読込します。
$ source ~/.bashrc
node-buildの導入
gitからnode-buildをcloneしてnode-buildを入れます。
$ git clone https://github.com/nodenv/node-build.git $(nodenv root)/plugins/node-build
検証
検証
設定は完了しましたが、設定がうまく行っているか検証してくれるスクリプトがあるのでそちらで確認します。
nodenv-doctorというのを使います。
$ curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash
Checking for `nodenv' in PATH: /usr/local/bin/nodenv
Checking for nodenv shims in PATH: OK
Checking `nodenv install' support: /usr/local/bin/nodenv-install (node-build 4.6.1)
Counting installed Node versions: none
There aren't any Node versions installed under `/Users/{ユーザ名}/.nodenv/versions'.
You can install Node versions like so: nodenv install 2.2.4
Auditing installed plugins: OK
上記のような出力で、OKが出ていれば問題有りません
nodenvでnodeの最新版を入れる
インストールできる node のすべてのバージョンを表示
$ nodenv install -l
Available versions:
~ 省略 ~
14.2.0
14.3.0
14.4.0
14.5.0
~ 省略 ~
大量に出てきますが、今回は現時点で最新の14.5.0 を入れていきます
nodenv install
$ nodenv install 14.5.0
バージョンを指定してnodenv install
コマンドを打つことで任意のバージョンのnodeをインストールすることができます
任意のバージョンのnodeを使う
インストールまでは完了しましたが、このままではまだnodeの利用ができません。
使うnodeのバージョンを下記コマンドで選択します
$ nodenv global 14.5.0
$ node --version
v14.5.0
nodenv global {nodeのバージョン}
で任意のnodeのバージョンに切り替えることができます。
特定のディレクトリでバージョンを切り替える
プロジェクトによって違うnodeのバージョンを使いたいということはよくあると思います。
そんなときにも、ディレクトリごとにnodeのバージョンを切り替えが可能です。
例えばprojectAというディレクトリ配下では12.1.0
というバージョンを使いたい場合は初回に下記の様にコマンドを打ちます
cd projectA
nodenv local 12.1.0
nodenv local {任意のnodeのバージョン}
というコマンドで切り替えられます。
このコマンドを打つとそのディレクトリ配下に.node-version
というファイルが作られて以後はそこに書いてあるバージョンのnodeが使われるようになります。
nodenvを使っている前提であれば.node-version
もgitなどにはコミットしてしまうと管理が楽になりますね。
さいごに
nodenvを使うとnodeのバージョン管理が非常に楽になります。
nodeのバージョンは結構上がるので、常に最新のnodeを使っているといつのまにか古いプロジェクトが動かなくなってるなんてこともあるかと思います。
nodenv使っておけばバージョンも明示しておけますし、自動で切り替えられるので非常に便利ですね。