ndenvからnodenvへ移行する

今更ながらnodenvに移行

JavaScript Primerという本を買って読んでみると、JavaScriptの今までわからなかったところがわかるようになりとてもJavaScriptが楽しくなってきました。(Web版もあります)。

ローカルの開発環境を新しくしようと思い、anyenv経由でインストールしたndenvをアップデートしました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ anyenv update
$ anyenv update
Updating 'anyenv'...
| From https://github.com/riywo/anyenv
| e963a69..67d402f master -> origin/master
| * [new tag] v1.1.2 -> v1.1.2
Updating 'anyenv/anyenv-update'...
Updating 'ndenv'...
Updating 'ndenv/ndenv-yarn-install'...
Updating 'ndenv/node-build'...
Updating 'rbenv'...
| From https://github.com/rbenv/rbenv
| c879cb0..0843745 master -> origin/master
Updating 'rbenv/ruby-build'...
| From https://github.com/rbenv/ruby-build
| 69ccbf4..0a5e059 master -> origin/master
| * [new tag] v20200819 -> v20200819
| * [new tag] v20200722 -> v20200722
| * [new tag] v20200727 -> v20200727
Updating 'anyenv manifest directory'...
| From https://github.com/anyenv/anyenv-install
| dcbcfe1..d9791df master -> origin/master

ところが、ndenvのgithubを見てみると

[Deprecated] nodenv is better alternative

と書かれていました。以前はnodenvを使っていて、いつからかndenvになったと記憶しています。結局元に戻ったと言う感じでしょうか。

nodenvのインストール

anyenvを利用してインストールします

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$ anyenv install nodenv
/var/folders/mf/_4_k88fj3nqcsgqdz7dzqhy00000gn/T/nodenv.20200828113307.39306 ~
Cloning https://github.com/nodenv/nodenv.git master to nodenv...
Cloning into 'nodenv'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 4017 (delta 2), reused 4 (delta 1), pack-reused 4003
Receiving objects: 100% (4017/4017), 731.96 KiB | 828.00 KiB/s, done.
Resolving deltas: 100% (2633/2633), done.
~
~/.anyenv/envs/nodenv/plugins ~
Cloning https://github.com/nodenv/node-build.git master to node-build...
Cloning into 'node-build'...
remote: Enumerating objects: 95, done.
remote: Counting objects: 100% (95/95), done.
remote: Compressing objects: 100% (61/61), done.
remote: Total 19746 (delta 39), reused 68 (delta 25), pack-reused 19651
Receiving objects: 100% (19746/19746), 3.51 MiB | 776.00 KiB/s, done.
Resolving deltas: 100% (12653/12653), done.
~
~/.anyenv/envs/nodenv/plugins ~
Cloning https://github.com/nodenv/nodenv-vars.git master to nodenv-vars...
Cloning into 'nodenv-vars'...
remote: Enumerating objects: 211, done.
remote: Total 211 (delta 0), reused 0 (delta 0), pack-reused 211
Receiving objects: 100% (211/211), 31.82 KiB | 201.00 KiB/s, done.
Resolving deltas: 100% (76/76), done.
~

Install nodenv succeeded!
Please reload your profile (exec $SHELL -l) or open a new session.

インストール後はシェルを再起動します

1
$ exec $SHELL -l

ndenvのアンインストール

アンインストールもanyenvを利用して行います。

1
2
$ anyenv uninstall ndenv
anyenv: remove /Users/shibagaki/.anyenv/envs/ndenv?

yesと入力してエンターキーを押すとアンインストールされます。

nodeのインストール

nodenvを使ってインストールします。現時点で最新のLTSである12.18.3をインストールします。

1
2
3
4
5
6
7
8
$ nodenv install v12.18.3
node-build: definition not found: v12.18.3

See all available versions with `nodenv install --list'.

If the version you need is missing, try upgrading node-build:

git -C /Users/shibagaki/.anyenv/envs/nodenv/plugins/node-build pull

見つからないと言われてしまったので、一覧表示してみます。

1
2
3
4
5
6
7
8
$ nodenv install --list
...
12.18.1
12.18.2
12.18.3
13.0.0
13.x-dev
...

先頭のvがいらないんですね。

1
2
3
4
5
$ nodenv install 12.18.3
Downloading node-v12.18.3-darwin-x64.tar.gz...
-> https://nodejs.org/dist/v12.18.3/node-v12.18.3-darwin-x64.tar.gz
Installing node-v12.18.3-darwin-x64...
Installed node-v12.18.3-darwin-x64 to /Users/shibagaki/.anyenv/envs/nodenv/versions/12.18.3

インストールされたことを確認します

1
2
3
4
5
6
7
$ nodenv local 12.18.3
$ which node
/Users/user/.anyenv/envs/nodenv/shims/node
$ node -v
v12.18.3
$ npm -v
6.14.6

これで環境を整えることができました。

まとめ

  • ndenvよりはnodenvを利用するようにする
  • nodenvでバージョンを指定する時は先頭のvはいらない
  • バージョン表示時はvがついている