anyenvでNodeやRubyやPythonのバージョン管理

# 概要
- github：https://github.com/anyenv/anyenv
- anyenvはnodenv, rbenv, pyenvなど*env系を管理するライブラリ
- nodenv, rbenv, pyenvは、Node, Ruby, Pythonのバージョンを管理してくれる。

anyevnでnodenvをインストールしてnodenvでほしいバージョンのNodeをインストールして管理しておくという感じ

# anyenv インストール

```shell:
$ git clone https://github.com/riywo/anyenv ~/.anyenv
$ echo 'export PATH="~/.anyenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l

# 確認
$ anyenv -v
anyenv 1.1.1

# 初期化しておく
$ anyenv install --init
```


# nodenvインストール

```shell:
$ anyenv install nodenv
$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile
$ exec $SHELL -l

# 確認
$ nodenv -v
nodenv 1.3.1+5.dd4534e
```


## Nodejsインストール

```shell:
$ touch $(nodenv root)/default-packages

# インストールできるバージョンチェック
$ nodenv install --list

# インストール
$ nodenv install 14.3.0

# 確認
$ node -v
v14.3.0

# npmの同時にインストールされる
$ npm -v
v6.14.5

# globalに設定
# globalに設定するとnodeコマンドは常にそのバージョンで実行される
$ nodenv global 12.13.0

# インストールされたバージョンをリストで確認
$ nodenv versions

# 別バージョンをローカルに設定する場合
# ディレクトリごとにローカルに設定するバージョンを設定できる。
# 特定のプロジェクトのディレクトリでlocal設定しておくとそのバージョンで実行される
$ nodenv local 12.12.0
```

# rbenvインストール

```shell:
$ anyenv install rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ exec $SHELL -l

# 確認
$ rbenv -v
rbenv 1.1.2-30-gc879cb0
```

## Rubyインストール

```shell:
# インストールするバージョンチェック
$ rbenv install --list

# ほしいバージョンインストール
$ rbenv install 2.7.1

# globalに設定
# globalに設定するとnodeコマンドは常にそのバージョンで実行される
$ rbenv global 2.7.1

# 確認
$ rbenv versions

# 別バージョンをローカルに設定する場合
# ディレクトリごとにローカルに設定するバージョンを設定できる。
# 特定のプロジェクトのディレクトリでlocal設定しておくとそのバージョンで実行される
$ rbenv local 2.6.0
```

## BUILD FAILEDエラー

下記のようなエラーが出た場合の対処 

```shell:
$ rbenv install 2.7.1

Downloading ruby-2.7.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.1.tar.bz2
Installing ruby-2.7.1...

BUILD FAILED (Ubuntu 20.04 using ruby-build 20200520)

Inspect or clean up the working tree at /tmp/ruby-build.20200529010032.1915.2716Kv
Results logged to /tmp/ruby-build.20200529010032.1915.log

Last 10 log lines:
checking for ruby... false
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/ruby-build.20200529010032.1915.2716Kv/ruby-2.7.1':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
```

エラー出た人はここら辺実行すれば大体解決するかも

```shell:
$ sudo apt-get update
$ sudo apt-get install -y build-essential checkinstall 
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
```

# pyenvインストール

上記と同様
やってないけど多分下記の感じでいけるかも

```shell:
$ anyenv install pyenv
$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
$ exec $SHELL -l

# 確認
$ pyenv -v
```

## Pythonインストール

```shell:
# インストールするバージョンチェック
$ pyenv install --list

# ほしいバージョンインストール
$ pyenv install [version]

# globalに設定
# globalに設定するとnodeコマンドは常にそのバージョンで実行される
$ pyenv global [version]

# 確認
$ pyenv versions

# 別バージョンをローカルに設定する場合
# ディレクトリごとにローカルに設定するバージョンを設定できる。
# 特定のプロジェクトのディレクトリでlocal設定しておくとそのバージョンで実行される
$ pyenv local [version]
```