WSLのUbuntu18で Node.js 13.12 の開発環境作るメモ
書いてから気づいたけど、WSL特有の事情とか一切無いから、ただUbuntuでNode.js入れただけになっちゃった。
Node.jsは anyenv
を使ってインストールする。今後バージョンを切り替えたくなると思うし、Pythonも入れるかもしれないから。
あと、以下の記事の影響で、ここでは anyenv
の設定を .bash_profile
じゃなくて .bashrc
に書く。なので anyenv
公式のインストール方法と少し違う。
.bash\_profileと.bashrcなんて使い分けなくてよかったんや! - Qiita
anyenvをインストール
以下コマンドで anyenv
をインストール。
git clone https://github.com/anyenv/anyenv ~/.anyenv
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bashrc
~/.anyenv/bin/anyenv init
# Load anyenv automatically by adding
# the following to ~/.bash_profile:
eval "$(anyenv init -)"
\~/.bash_profile
に eval "$(anyenv init -)"
を追記するよう言われる。
が、ここでは前述の通り ~/.bashrc
に追記して、シェルを再起動。
echo 'eval "$(anyenv init -)"' >> ~/.bashrc
exec $SHELL -l
ANYENV_DEFINITION_ROOT(/home/napoporitataso/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
> anyenv install --init
言われた通り、anyenv install --init
を実行する。
anyenv install --init
Manifest directory doesn't exist: /home/napoporitataso/.config/anyenv/anyenv-install
Do you want to checkout ? [y/N]: y # 入力
Cloning https://github.com/anyenv/anyenv-install.git master to /home/napoporitataso/.config/anyenv/anyenv-install...
Cloning into '/home/napoporitataso/.config/anyenv/anyenv-install'...
remote: Enumerating objects: 48, done.
remote: Total 48 (delta 0), reused 0 (delta 0), pack-reused 48
Unpacking objects: 100% (48/48), done.
Completed!
終わったら、インストールできたか以下コマンドで確認。
anyenv -v
anyenv 1.1.1
nodenvをインストール
anyenv
を使って nodenv
をインストールする。
anyenv install nodenv
exec $SHELL -l
nodenv -v
nodenv 1.3.2+2.2578d8d
Node.jsをインストール
nodenv install --list
を叩いて、インストール可能なNode.jsのバージョンの一覧を見たところ、最新バージョンは 13.12.0 だった。
ここではそれを入れることにする。
nodenv install 13.12.0
Downloading node-v13.12.0-linux-x64.tar.gz...
-> https://nodejs.org/dist/v13.12.0/node-v13.12.0-linux-x64.tar.gz
Installing node-v13.12.0-linux-x64...
Installed node-v13.12.0-linux-x64 to /home/napoporitataso/.anyenv/envs/nodenv/versions/13.12.0
nodenv: default-packages file not found
……と思ったら、何か言われた。default-packages
ファイルが無いらしい。
下記の記事によると、nodenv
のルートフォルダに default-packages
というファイルを置いて、中に任意のパッケージ名を書いておくと、nodenv install
でNode.jsをインストールした時に一緒にグローバルインストールしてくれるらしい。
nodenvでいつも使うパッケージを自動でインストールする - Qiita
複数のNode.jsを使い分けてて yarn
を使う人とかは、これを活用してるようだ。
自分は特に初期インストールしたいものは無いので、ここでは以下コマンドでカラのファイルを作成するだけ。
touch $(nodenv root)/default-packages
nodenv root
は、nodenv
のルートフォルダのパスを出力できるコマンド。
……
それで肝心のNode.jsの方だけど、試しに nodenv versions
を叩いてみたら 13.12.0
と表示された。インストール自体は成功していたらしい。
nodenv global
で、グローバルのバージョンを 13.12.0 に設定する。
nodenv global 13.12.0
exec $SHELL -l
ここまでやったら、node
コマンドと npm
コマンドが使えるようになったか確認する。
node -v
npm -v
v13.12.0
6.14.4
これでNode.jsのインストールは完了。
.bashrc
に設定を書いてるので、シェルスクリプト内でも同様に node
npm
コマンドが使えるはず。
更に新しいNode.jsをインストールしたくなったら
ここからは追記。この記事の手順で作った環境をしばらく使っていて、もっと新しいNode.jsをインストールしたくなったので。
nodenv install --list
で出てくるNode.jsのインストール可能なバージョンのリストは anyenv
を更新しないと更新されない。以下の記事を参考に anyenv-update
を導入して更新する。
nodenvをupdateして新しいバージョンのNode.jsをインストールする - Qiita
mkdir -p $(anyenv root)/plugins
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
anyenv update
そしたら nodenv install --list
で新しいバージョンを確認。
ここでは 16.14.0 にバージョンアップすることにした。以下コマンドで新しいバージョンをインストールして切り替え。
nodenv install 16.14.0
nodenv global 16.14.0
exec $SHELL -l
完了したら以下コマンドでバージョン確認。
node -v
v16.14.0
以上。