投稿日:
2019年6月27日
最終更新日:
【JavaやRuby含めほとんどの言語に対応】Homebrewで「anyenv」をインストールしてhodenvを使ってバージョン管理をする方法まとめ【fish shellも対応】
YouTubeも見てね♪
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
【最新機種】GoPro hero11 Black
最新機種でVlogの思い出を撮影しよう!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
ドラゴンクエスト メタリックモンスターズギャラリー メタルキング
みんな大好き経験値の塊をデスクに常備しておこう!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド
Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!
目次
言語のバージョン管理の決定版
皆さんは言語のバージョン管理は行っていますか?
有名なのはpyenvやnodenvなどですね。
しかし、各言語ごとにバージョン管理システムを落として管理するのはとてもめんどくさいと思います。
今回はほとんどの開発言語のバージョン管理を可能にしてくれるanyenvについてご紹介しようと思います。
anyenv
anyenvとはXXenv関連のモジュールをまとめて一限管理してくれるモジュールとなっています。
anyenv – All in one for **env
This is a simple wrapper for rbenv style environment managers. You don’t have to git clone or modify your shell profile for each **env anymore if you install anyenv.anyenv/anyenv: All in one for **env
こちらを使うと、anyenv経由でpyenvやnodenvを取扱う事が可能になるので、とても便利です。
インストール方法や使い方もとても簡単なので、ご紹介しようと思います。
手順
anyenvのインストール
まずはメインとなるanyenvをお馴染みHomebrewを使ってインストールしましょう。
1
2
3
4
|
==> Downloading https://homebrew.bintray.com/bottles/anyenv-1.1.1.mojave.bottle.tar.gz
Already downloaded: /Users/blogenist/Library/Caches/Homebrew/downloads/8bf4362e86fa71924c51fe1833bcf52d2f1ec89b67dd2aa570e65faa7ad3bf99--anyenv-1.1.1.mojave.bottle.tar.gz
==> Pouring anyenv-1.1.1.mojave.bottle.tar.gz
🍺 /usr/local/Cellar/anyenv/1.1.1: 23 files, 29.6KB
|
環境変数の設定
インストールが完了したら環境変数にANYENV_ROOT=~/.anyenv
を追加しておきましょう。
確認
1 |
anyenv 1.1.1
|
init
この状態で以下のコマンドを実行すると、エラーが表示されます。
1
2
|
ANYENV_DEFINITION_ROOT(/Users/blogenist/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
> anyenv install --init
|
これは、anyenv用の作業ディレクトリが無いから、anyenv install --init
で初期化して!というメッセージなので言われた通りに実行しましょう。
1
2
3
4
5
6
7
8
9
10
11
|
Manifest directory doesn't exist: /Users/blogenist/.config/anyenv/anyenv-install
Do you want to checkout ? [y/N]: y
Cloning https://github.com/anyenv/anyenv-install.git master to /Users/blogenist/.config/anyenv/anyenv-install...
Cloning into '/Users/blogenist/.config/anyenv/anyenv-install'...
remote: Enumerating objects: 48, done.
remote: Counting objects: 100% (48/48), done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 48 (delta 2), reused 45 (delta 1), pack-reused 0
Unpacking objects: 100% (48/48), done.
Completed!
|
確認
これで必要な準備が出来たのでもう一度コマンドを打ってみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
Renv
crenv
denv
erlenv
exenv
goenv
hsenv
jenv
luaenv
nodenv
phpenv
plenv
pyenv
rbenv
sbtenv
scalaenv
swiftenv
tfenv
|
正常に通りましたね♪
このリストが管理出来る各言語のようです。
ほとんど網羅していますね・・・!
nodenvのインストール
今回は試しにnodenvを使ってみようと思います。
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
33
34
35
36
37
38
39
40
41
|
/var/folders/5k/s10ppj590d534615rmtkm9cm0000gn/T/nodenv.20190619141332.24018 ~
Cloning https://github.com/nodenv/nodenv.git master to nodenv...
Cloning into 'nodenv'...
remote: Enumerating objects: 35, done.
remote: Counting objects: 100% (35/35), done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 3719 (delta 15), reused 21 (delta 5), pack-reused 3684
Receiving objects: 100% (3719/3719), 662.32 KiB | 495.00 KiB/s, done.
Resolving deltas: 100% (2465/2465), done.
~
~/.anyenv/envs/nodenv/plugins ~
Cloning https://github.com/nodenv/node-build.git master to node-build...
Cloning into 'node-build'...
remote: Enumerating objects: 64, done.
remote: Counting objects: 100% (64/64), done.
remote: Compressing objects: 100% (45/45), done.
remote: Total 17211 (delta 21), reused 54 (delta 11), pack-reused 17147
Receiving objects: 100% (17211/17211), 2.99 MiB | 703.00 KiB/s, done.
Resolving deltas: 100% (11090/11090), done.
~
~/.anyenv/envs/nodenv/plugins ~
Cloning https://github.com/nodenv/nodenv-default-packages.git master to nodenv-default-packages...
Cloning into 'nodenv-default-packages'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 264 (delta 6), reused 4 (delta 2), pack-reused 251
Receiving objects: 100% (264/264), 58.20 KiB | 505.00 KiB/s, done.
Resolving deltas: 100% (119/119), 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 | 237.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 |
nodenv 1.3.0
|
対象バージョンのインストール
現在インストール可能なバージョン一覧をみてみましょう。
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
|
Available versions:
0.1.14
0.1.15
0.1.16
0.1.17
0.1.18
0.1.19
0.1.20
0.1.21
0.1.22
0.1.23
0.1.24
0.1.25
0.1.26
0.1.27
0.1.28
0.1.29
0.1.30
0.1.31
0.1.32
0.1.33
0.1.90
0.1.91
0.1.92
0.1.93
0.1.94
0.1.95
0.1.96
0.1.97
0.1.98
0.1.99
0.1.100
0.1.101
0.1.102
0.1.103
0.1.104
0.2.0
0.2.1
0.2.2
0.2.3
0.2.4
0.2.5
0.2.6
0.3.0
0.3.1
0.3.2
0.3.3
0.3.4
0.3.5
0.3.6
0.3.7
0.3.8
0.4.0
0.4.1
0.4.2
0.4.3
0.4.4
0.4.5
0.4.6
0.4.7
0.4.8
0.4.9
0.4.10
0.4.11
0.4.12
0.5.0
0.5.1
0.5.2
0.5.3
0.5.4
0.5.5
0.5.6
0.5.7
0.5.8
0.5.9
0.5.10
0.6.0
0.6.1
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.6.10
0.6.11
0.6.12
0.6.13
0.6.14
0.6.15
0.6.16
0.6.17
0.6.18
0.6.19
0.6.20
0.6.21
0.7.0
0.7.1
0.7.2
0.7.3
0.7.4
0.7.5
0.7.6
0.7.7
0.7.8
0.7.9
0.7.10
0.7.11
0.7.12
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.8.5
0.8.6
0.8.7
0.8.8
0.8.9
0.8.10
0.8.11
0.8.12
0.8.13
0.8.14
0.8.15
0.8.16
0.8.17
0.8.18
0.8.19
0.8.20
0.8.21
0.8.22
0.8.23
0.8.24
0.8.25
0.8.26
0.8.27
0.8.28
0.9.0
0.9.1
0.9.2
0.9.3
0.9.4
0.9.5
0.9.6
0.9.7
0.9.8
0.9.9
0.9.10
0.9.11
0.9.12
0.10.0
0.10-dev
0.10-next
0.10.1
0.10.2
0.10.3
0.10.4
0.10.5
0.10.6
0.10.7
0.10.8
0.10.9
0.10.10
0.10.11
0.10.12
0.10.13
0.10.14
0.10.15
0.10.16
0.10.17
0.10.18
0.10.19
0.10.20
0.10.21
0.10.22
0.10.23
0.10.24
0.10.25
0.10.26
0.10.27
0.10.28
0.10.29
0.10.30
0.10.31
0.10.32
0.10.33
0.10.34
0.10.35
0.10.36
0.10.37
0.10.38
0.10.39
0.10.40
0.10.41
0.10.42
0.10.43
0.10.44
0.10.45
0.10.46
0.10.47
0.10.48
0.11.0
0.11.1
0.11.2
0.11.3
0.11.4
0.11.5
0.11.6
0.11.7
0.11.8
0.11.9
0.11.10
0.11.11
0.11.12
0.11.13
0.11.14
0.11.15
0.11.16
0.12.0
0.12-dev
0.12-next
0.12.1
0.12.2
0.12.3
0.12.4
0.12.5
0.12.6
0.12.7
0.12.8
0.12.9
0.12.10
0.12.11
0.12.12
0.12.13
0.12.14
0.12.15
0.12.16
0.12.17
0.12.18
4.0.0
4.x-dev
4.x-next
4.1.0
4.1.1
4.1.2
4.2.0
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.3.0
4.3.1
4.3.2
4.4.0
4.4.1
4.4.2
4.4.3
4.4.4
4.4.5
4.4.6
4.4.7
4.5.0
4.6.0
4.6.1
4.6.2
4.7.0
4.7.1
4.7.2
4.7.3
4.8.0
4.8.1
4.8.2
4.8.3
4.8.4
4.8.5
4.8.6
4.8.7
4.9.0
4.9.1
5.0.0
5.x-next
5.1.0
5.1.1
5.2.0
5.3.0
5.4.0
5.4.1
5.5.0
5.6.0
5.7.0
5.7.1
5.8.0
5.9.0
5.9.1
5.10.0
5.10.1
5.11.0
5.11.1
5.12.0
6.0.0
6.x-dev
6.x-next
6.1.0
6.2.0
6.2.1
6.2.2
6.3.0
6.3.1
6.4.0
6.5.0
6.6.0
6.7.0
6.8.0
6.8.1
6.9.0
6.9.1
6.9.2
6.9.3
6.9.4
6.9.5
6.10.0
6.10.1
6.10.2
6.10.3
6.11.0
6.11.1
6.11.2
6.11.3
6.11.4
6.11.5
6.12.0
6.12.1
6.12.2
6.12.3
6.13.0
6.13.1
6.14.0
6.14.1
6.14.2
6.14.3
6.14.4
6.15.0
6.15.1
6.16.0
6.17.0
6.17.1
7.0.0
7.x-dev
7.x-next
7.1.0
7.2.0
7.2.1
7.3.0
7.4.0
7.5.0
7.6.0
7.7.0
7.7.1
7.7.2
7.7.3
7.7.4
7.8.0
7.9.0
7.10.0
7.10.1
8.0.0
8.x-dev
8.x-next
8.1.0
8.1.1
8.1.2
8.1.3
8.1.4
8.2.0
8.2.1
8.3.0
8.4.0
8.5.0
8.6.0
8.7.0
8.8.0
8.8.1
8.9.0
8.9.1
8.9.2
8.9.3
8.9.4
8.10.0
8.11.0
8.11.1
8.11.2
8.11.3
8.11.4
8.12.0
8.13.0
8.14.0
8.14.1
8.15.0
8.15.1
8.16.0
9.0.0
9.x-dev
9.x-next
9.1.0
9.2.0
9.2.1
9.3.0
9.4.0
9.5.0
9.6.0
9.6.1
9.7.0
9.7.1
9.8.0
9.9.0
9.10.0
9.10.1
9.11.0
9.11.1
9.11.2
10.0.0
10.x-dev
10.x-next
10.1.0
10.2.0
10.2.1
10.3.0
10.4.0
10.4.1
10.5.0
10.6.0
10.7.0
10.8.0
10.9.0
10.10.0
10.11.0
10.12.0
10.13.0
10.14.0
10.14.1
10.14.2
10.15.0
10.15.1
10.15.2
10.15.3
10.16.0
11.0.0
11.x-dev
11.x-next
11.1.0
11.2.0
11.3.0
11.4.0
11.5.0
11.6.0
11.7.0
11.8.0
11.9.0
11.10.0
11.10.1
11.11.0
11.12.0
11.13.0
11.14.0
11.15.0
12.0.0
12.x-dev
12.x-next
12.1.0
12.2.0
12.3.0
12.3.1
12.4.0
chakracore-dev
chakracore-nightly
chakracore-8.1.2
chakracore-8.1.4
chakracore-8.2.1
chakracore-8.3.0
chakracore-8.4.0
chakracore-8.6.0
chakracore-8.9.4
chakracore-8.10.0
chakracore-8.11.1
chakracore-10.0.0
chakracore-10.1.0
chakracore-10.6.0
chakracore-10.13.0
graal+ce-1.0.0-rc1
graal+ce-1.0.0-rc10
graal+ce-1.0.0-rc11
graal+ce-1.0.0-rc12
graal+ce-1.0.0-rc13
graal+ce-1.0.0-rc14
graal+ce-1.0.0-rc15
graal+ce-1.0.0-rc16
graal+ce-1.0.0-rc2
graal+ce-1.0.0-rc3
graal+ce-1.0.0-rc4
graal+ce-1.0.0-rc5
graal+ce-1.0.0-rc6
graal+ce-1.0.0-rc7
graal+ce-1.0.0-rc8
graal+ce-1.0.0-rc9
iojs-0.12.0-dev
iojs-1.0.0
iojs-1.x-dev
iojs-1.0.1
iojs-1.0.2
iojs-1.0.3
iojs-1.0.4
iojs-1.1.0
iojs-1.2.0
iojs-1.3.0
iojs-1.4.1
iojs-1.4.2
iojs-1.4.3
iojs-1.5.0
iojs-1.5.1
iojs-1.6.0
iojs-1.6.1
iojs-1.6.2
iojs-1.6.3
iojs-1.6.4
iojs-1.7.1
iojs-1.8.1
iojs-1.8.2
iojs-1.8.3
iojs-1.8.4
iojs-2.0.0
iojs-2.0.1
iojs-2.0.2
iojs-2.1.0
iojs-2.2.0
iojs-2.2.1
iojs-2.3.0
iojs-2.3.1
iojs-2.3.2
iojs-2.3.3
iojs-2.3.4
iojs-2.4.0
iojs-2.5.0
iojs-3.0.0
iojs-3.1.0
iojs-3.2.0
iojs-3.3.0
iojs-3.3.1
nightly
node-dev
rc
v8-canary
|
ありすぎぃ!!!!
とりあえず無難に11系の最新版を落としておきましょう。
1
2
3
4
5
6
7
8
9
10
|
Downloading node-v11.15.0-darwin-x64.tar.gz...
-> https://nodejs.org/dist/v11.15.0/node-v11.15.0-darwin-x64.tar.gz
WARNING: node-v11.15.0-darwin-x64 is past its end of life and is now unsupported.
It no longer receives bug fixes or security updates.
Installing node-v11.15.0-darwin-x64...
Installed node-v11.15.0-darwin-x64 to /Users/blogenist/.config/anyenv/envs/nodenv/versions/11.15.0
Installed default packages for 11.15.0
|
確認
1 |
11.15.0 |
バージョンの適用
グローバルの場合
マシン全体として共通のバージョンを設定したい場合はnodenv global {バージョン}
コマンドで適用出来ます
確認
1 |
v11.15.0
|
ローカルの場合
そのディレクトリ内でのみ反映したい場合はnodenv local {バージョン}
コマンドで適用出来ます
すると以下のようなファイルがカレントディレクトリに作成されます。
1 |
10.16.0 |
確認
1 |
v10.16.0
|
fish: Unknown command nodeが出る場合
fish shellを使っている方は以下をfish.config
に追加する必要がありますので、ご注意です。
1
2
3
4
5
6
7
8
9
|
...
(略)
...
set -x NODENV_ROOT $ANYENV_ROOT/envs/nodenv/
set -x PATH $NODENV_ROOT/bin $PATH
set -x PATH $NODENV_ROOT/shims $PATH
...
(略)
...
|
終わりに
以上のように様々な言語のバージョン管理をanyenvで行う事が可能になりました。
今やバージョン管理はどの言語もマストで必要な作業なので、是非anyenvで一括管理してみてはいかがでしょうか♪