こうこく
作 ▸
改 ▸

WSLのUbuntu18で Node.js 13.12 の開発環境作るメモ

書いてから気づいたけど、WSL特有の事情とか一切無いから、ただUbuntuでNode.js入れただけになっちゃった。

Windows 10 (64bit)Ubuntu 18.04.4 LTSanyenv 1.1.1Node.js v13.12.0
もくじ

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_profileeval "$(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

以上。

この記事に何かあればこちらまで (非公開)