anyenvを使用してenv系を管理、色々なenvを使用する
複数の言語や複数のプロジェクトをやっていると、各環境でバージョンの切り替えなどに困りますよね?
色々なツールがありますが、一括管理できて、導入も非常に簡単なanyenvが便利でしたので記事にまとめておきたいと思います!
anyenvレポジトリ
環境構築
インストール
brewを使用して簡単にインストールができます!
$ brew install anyenv
.bash_profileや.zprofileに追加
bashを使っている時は以下を打ちます。
~/.bash_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
zshの場合は以下です。
~/.zprofile
$ echo 'eval "$(anyenv init -)"' >> ~/.zprofile
シェルを再読み込み
シェルを再読み込みします。
$ exec $SHELL -l
初期化
次のコマンドで初期化を実行していきます。
$ anyenv install --init
anyenvで使えるenv系の一覧を表示する
これでanyenvが使えるようになりました!
anyenvで使えるenv系の一覧を表示してみます!
$ anyenv install -l
以下のenvを使用することが可能なようです。
Renv
crenv
denv
erlenv
exenv
goenv
hsenv
jenv
jlenv
luaenv
nodenv
phpenv
plenv
pyenv
rbenv
sbtenv
scalaenv
swiftenv
tfenv
色々なenvを使ってみる
goenvを使ってみる
goenvを導入したので、その時のやり方を掲載しておきます!
goenvインストール
$ anyenv install goenv
goのバージョンを確認する
シェルを再起動後、以下のコマンドを実行し、インストール可能なバージョンを確認する。
$ goenv install -l
Available versions:
1.2.2
1.3.0
1.3.1
1.3.2
1.3.3
1.4.0
1.4.1
1.4.2
1.4.3
......
......
goのインストール
$ goenv install 1.13.15
$ goenv global 1.13.15
$ goenv rehash
インストール後の確認
$ go version
go version go1.13.15 darwin/amd64
nodenvを使ってみる
nodenvを導入したので、その時のやり方を掲載しておきます!
nodenvインストール
$ anyenv install nodenv
nodeのバージョンを確認する
$ nodenv install -l
0.1.14
0.1.15
0.1.16
0.1.17
0.1.18
......
......
nodeのインストール
$ nodenv install 12.18.3
$ nodenv global 12.18.3
$ nodenv rehash
インストール後の確認
$ node -v
v12.18.3
インストールされているNodeバージョンの確認
% nodenv versions
* 12.18.3 (set by /Users/kou/.anyenv/envs/nodenv/version)
14.15.1
14.15.4
Nodeバージョンの切り替え
% nodenv global 12.18.3
異なるNodeのバージョンを使用する際に便利に使う方法
.node-versionを各プロジェクト配下に置いておくと、自動でバージョンを切り替えてくれるので便利。
以下のようなファイルをプロジェクト直下に作成すればOK。
% cat .node-version
v12.6.0
nodenvで未インストールの場合は、以下のようにインストールされていませんと出力される。
% node -v
nodenv: version `v12.6.0' is not installed (set by /Users/****/git/sample/.node-version)
その場合は、インストールしておけばOK。
$ nodenv install 12.6.0
インストール済であれば自動でそのバージョンのNodeが選択されるから便利。
rbenvを使ってみる
rbenvインストール
$ anyenv install rbenv
rubyのバージョンを確認する
$ rbenv install -l
$ rbenv install --list-all
rubyのインストール
$ rbenv install 3.1.0
$ rbenv global 3.1.0
$ rbenv rehash
インストール後の確認
$ ruby -v
ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-darwin19]
% gem -v
3.3.3
異なるRubyのバージョンを使用する際に便利に使う方法
.ruby-versionを各プロジェクト配下に置いておくと、自動でバージョンを切り替えてくれるので便利。
以下のようなファイルをプロジェクト直下に作成すればOK。
% cat .ruby-version
2.5.1
これでインストールできる。
% rbenv install
エラー対応系
nodenvでnpm install globalしたコマンドが認識されない時
https://qiita.com/282Haniwa/items/a764cf7ef03939e4cbb1
# nodenvからnodeやグローバルなnpmパッケージを見えるようにするためにrehashを行う # 新しいnodeのバージョンを入れたり、npm install -gなどを行ったときに実行する必要がある nodenv rehash
npm install -g
のたびにrehashを行うのが面倒であれば
nodenv-package-rehash
のパッケージを入れることでそれを省略できます。
上記の記事が参考になります。
nodenv-package-rehashを入れても良さそうですが、とりあえずであれば、以下のコマンドを打てば解決します。
% nodenv rehash
ここにコマンドが現れる。
% ll /Users/kou/.anyenv/envs/nodenv/shims
total 120
drwxr-xr-x 17 kou staff 544 9 8 16:38 .
drwxr-xr-x 24 kou staff 768 9 16 2020 ..
-rwxr-xr-x 1 kou staff 425 8 4 02:18 _mocha
...
まとめ
今回は、anyenvを使用してenv系を管理、色々なenvを使用しました!
複数の言語や複数のプロジェクトをやっていると、バージョンの切り替えなどに困りますが、anyenvを使うと便利です!
バージョンを切り替えるために色々なツールがありますが、一括管理できて、導入も非常に簡単なので、是非anyenvを試してみてください!
コメント