anyenvでNode/Ruby/Pythonの環境を整える
anyenv
を使って Node
、Ruby
、Python
をそれぞれの -env
で Ubuntu 22.04
に環境を構築する。
anyenv、○○envとは
言語によっては環境のバージョンが細かく指定されることがある。
挙動をそろえるためにこのバージョンで動かしてね、というわけだ。
シェルスクやDockerなどでこのバージョンをインストールするんだと固定してやることもできるが既にその環境に別のバージョンがインストールされていた場合は面倒なことになる。
その「バージョンの切り替えをいい感じにしてもらおう」というツールが ○○env
と呼ばれるものである。
例えば
- 「
Node
のバージョンを切り替えられるようにしよう」としたnodenv
- 「
Ruby
のバージョンを切り替えられるようにしよう」としたrbenv
- 「
Python
のバージョンを切り替えられるようにしよう」としたpyenv
である。
さらにこれらのenvを「ひとまとめにダウンロードできるようにしよう」としたのが anyenv
である。
ちなみに上記以外にも、インストールできる言語は多々あるが有名どころとして3つを挙げておく。
これから Node
、Ruby
、Python
をインストールしようとしているなら、是非これらのenvかanvenv経由で環境をつくると良い。
anyenv
ダウンロード & インストール
-
ダウンロード
git clone https://github.com/anyenv/anyenv ~/.anyenv
-
パスを通す
echo '# For anyenv' >> ~/.bash_aliases echo 'export PATH="$PATH:$HOME/.anyenv/bin"' >> ~/.bash_aliases echo 'eval "$(anyenv init -)"' >> ~/.bash_aliases
source ~/.bashrc
-
anyenvのプラグインをインストール
anyenv install --init
-
シェルの再起動
exec $SHELL -l
インストールできるenvの確認
anyenv install --list
以降は Node
、Ruby
、Python
で必要なenvをインストールするといい。
nodenv
Node
のenv nodenv
anyenv
からインストールするやり方
インストール
-
nodenv
のインストールanyenv install nodenv exec $SHELL -l
-
nodenv
でインストール可能なnode
のバージョンを取得nodenv install --list
-
node
のインストールnodenv install <AVAILABLE-VERSION>
-
インストール済みの
node
のバージョンの一覧nodenv versions
-
node
のセットここではローカルのnodeバージョンを設定する。任意のディレクトリに移動して
# cd ./<ANY-DIRECTORY> nodenv local <INSTALLED-VERSION>
.node-version
というファイルが作成され、そのディレクトリー下ではそのバージョンが適用される。
npm yarnのインストール
```sh
npm install -g npm
npm install -g yarn
nodenv rehash
```
rbenv
Ruby
のenv rbenv
anyenv
からインストールするやり方
インストール
-
必要なパッケージの追加
あるバージョンから必要なパッケージが含まれなくなったため、バージョンによっては以下のダウンロードが必要
- zlib.h (zlib1g-dev)
- libyaml (libyaml-dev)
- libssl-dev
apt install -y zlib1g-dev libyaml-dev libssl-dev
-
rbenvのインストール
anyenv install rbenv exec $SHELL -l
-
rbenv
でインストール可能なRuby
のバージョンを取得rbenv install --list
-
Ruby
のインストールrbenv install <AVAILABLE-VERSION>
-
インストール済みの
Ruby
のバージョンの一覧rbenv versions
-
Ruby
のセットここではローカルのRubyバージョンを設定する。任意のディレクトリに移動して
# cd ./<ANY-DIRECTORY> rbenv local <INSTALLED-VERSION>
.ruby-version
というファイルが作成され、そのディレクトリー下ではそのバージョンが適用される。
pyenv
Python
のenv pyenv
anyenv
からインストールするやり方
インストール
-
必要なパッケージの追加
Pythonでは解決してくれないので別途インストールが必要
- bzip2 (libbz2-dev)
- ncurses (libncursesw5-dev)
- libffi (libffi-dev)
- readline (libreadline-dev)
- libsqlite3-dev
- lzma (liblzma-dev)
- tk-dev
apt install -y libbz2-dev libncursesw5-dev libffi-dev libreadline-dev libsqlite3-dev liblzma-dev tk-dev
-
pyenv
のインストールanyenv install pyenv exec $SHELL -l
-
pyenv
でインストール可能なPython
のバージョンを取得pyenv install --list
-
Ruby
のインストールpyenv install <AVAILABLE-VERSION>
-
インストール済みの
Python
のバージョンの一覧pyenv versions
-
Python
のセットここではローカルのRubyバージョンを設定する。任意のディレクトリに移動して
# cd ./<ANY-DIRECTORY> pyenv local <INSTALLED-VERSION>
.python-version
というファイルが作成され、そのディレクトリー下ではそのバージョンが適用される。
Discussion