❤️‍🔥

anyenvでNode/Ruby/Pythonの環境を整える

2023/07/23に公開

anyenvを使って NodeRubyPython をそれぞれの -envUbuntu 22.04 に環境を構築する。

anyenv、○○envとは

言語によっては環境のバージョンが細かく指定されることがある。
挙動をそろえるためにこのバージョンで動かしてね、というわけだ。

シェルスクやDockerなどでこのバージョンをインストールするんだと固定してやることもできるが既にその環境に別のバージョンがインストールされていた場合は面倒なことになる。

その「バージョンの切り替えをいい感じにしてもらおう」というツールが ○○env と呼ばれるものである。

例えば

  • Nodeのバージョンを切り替えられるようにしよう」とした nodenv
  • Rubyのバージョンを切り替えられるようにしよう」とした rbenv
  • Pythonのバージョンを切り替えられるようにしよう」とした pyenv

である。

さらにこれらのenvを「ひとまとめにダウンロードできるようにしよう」としたのが anyenv である。

ちなみに上記以外にも、インストールできる言語は多々あるが有名どころとして3つを挙げておく。

これから NodeRubyPython をインストールしようとしているなら、是非これらのenvかanvenv経由で環境をつくると良い。

anyenv

ダウンロード & インストール

  1. ダウンロード

    git clone https://github.com/anyenv/anyenv ~/.anyenv
    
  2. パスを通す

    echo '# For anyenv' >> ~/.bash_aliases
    echo 'export PATH="$PATH:$HOME/.anyenv/bin"' >> ~/.bash_aliases
    echo 'eval "$(anyenv init -)"' >> ~/.bash_aliases
    
    source ~/.bashrc
    
  3. anyenvのプラグインをインストール

    anyenv install --init
    
  4. シェルの再起動

    exec $SHELL -l
    

インストールできるenvの確認

anyenv install --list

以降は NodeRubyPython で必要なenvをインストールするといい。

nodenv

Node のenv nodenv

anyenvからインストールするやり方

インストール

  1. nodenv のインストール

    anyenv install nodenv
    exec $SHELL -l
    
  2. nodenv でインストール可能な node のバージョンを取得

    nodenv install --list
    
  3. node のインストール

    nodenv install <AVAILABLE-VERSION>
    
  4. インストール済みの node のバージョンの一覧

    nodenv versions
    
  5. 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からインストールするやり方

インストール

  1. 必要なパッケージの追加

    あるバージョンから必要なパッケージが含まれなくなったため、バージョンによっては以下のダウンロードが必要

    • zlib.h (zlib1g-dev)
    • libyaml (libyaml-dev)
    • libssl-dev
    apt install -y zlib1g-dev libyaml-dev libssl-dev
    
  2. rbenvのインストール

    anyenv install rbenv
    exec $SHELL -l
    
  3. rbenv でインストール可能な Ruby のバージョンを取得

    rbenv install --list
    
  4. Ruby のインストール

    rbenv install <AVAILABLE-VERSION>
    
  5. インストール済みの Ruby のバージョンの一覧

    rbenv versions
    
  6. Ruby のセット

    ここではローカルのRubyバージョンを設定する。任意のディレクトリに移動して

    # cd ./<ANY-DIRECTORY>
    rbenv local <INSTALLED-VERSION>
    

    .ruby-version というファイルが作成され、そのディレクトリー下ではそのバージョンが適用される。

pyenv

Python のenv pyenv

anyenvからインストールするやり方

インストール

  1. 必要なパッケージの追加

    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
    
  2. pyenv のインストール

    anyenv install pyenv
    exec $SHELL -l
    
  3. pyenv でインストール可能な Python のバージョンを取得

    pyenv install --list
    
  4. Ruby のインストール

    pyenv install <AVAILABLE-VERSION>
    
  5. インストール済みの Python のバージョンの一覧

    pyenv versions
    
  6. Python のセット

    ここではローカルのRubyバージョンを設定する。任意のディレクトリに移動して

    # cd ./<ANY-DIRECTORY>
    pyenv local <INSTALLED-VERSION>
    

    .python-version というファイルが作成され、そのディレクトリー下ではそのバージョンが適用される。

Reference

GitHub anyenv

Discussion