xxenv
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| xxenv [2021/03/01 02:19] – [pyenv] araki | xxenv [2025/06/03 05:38] (現在) – [goenv] araki | ||
|---|---|---|---|
| 行 15: | 行 15: | ||
| パッケージなどもあるが、ruby-buildが古いとせっかく rbenvでバージョン管理していても、新しいバージョンをインストールできないので、gitから直接取得する。 | パッケージなどもあるが、ruby-buildが古いとせっかく rbenvでバージョン管理していても、新しいバージョンをインストールできないので、gitから直接取得する。 | ||
| - | < | + | < |
| $ git clone https:// | $ git clone https:// | ||
| $ mkdir ~/ | $ mkdir ~/ | ||
| 行 26: | 行 26: | ||
| また、以下の設定を ~/.bashrc に対しても行う。 | また、以下の設定を ~/.bashrc に対しても行う。 | ||
| - | < | + | < |
| if [ -d ${HOME}/ | if [ -d ${HOME}/ | ||
| export RBENV_ROOT=${HOME}/ | export RBENV_ROOT=${HOME}/ | ||
| 行 35: | 行 35: | ||
| </ | </ | ||
| - | ログインしなおすか、< | + | ログインしなおすか、< |
| - | < | + | < |
| $ rbenv install 3.0.0 | $ rbenv install 3.0.0 | ||
| $ rbenv global 3.0.0 | $ rbenv global 3.0.0 | ||
| </ | </ | ||
| + | |||
| + | === rbenv-update === | ||
| + | |||
| + | 通常、git cloneで取り込んだ rbenvやプラグインは、'' | ||
| + | |||
| + | 以下の手順で取り込んだら、ログインしなおすなどして、'' | ||
| + | |||
| + | <code bash> | ||
| + | $ git clone https:// | ||
| + | </ | ||
| + | |||
| ==== pyenv ==== | ==== pyenv ==== | ||
| 行 49: | 行 60: | ||
| === インストール === | === インストール === | ||
| + | rbenv同様に、gitから導入し、パッケージを常にフレッシュに保つ。 | ||
| + | |||
| + | <code bash> | ||
| + | $ git clone https:// | ||
| + | $ cd ~/.pyenv && src/ | ||
| + | </ | ||
| + | |||
| + | ~/ | ||
| + | <code bash> | ||
| + | if [ -d ${HOME}/ | ||
| + | export PYENV_ROOT=${HOME}/ | ||
| + | export PATH=${PYENV_ROOT}/ | ||
| + | export PYENV_SHELL=bash | ||
| + | eval " | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | pythonに限らず、rubyでもgoでも、インタープリタの構築にはライブラリへの依存があり、ライブラリが存在しない場合は、構築に失敗あるいは特定の機能が利用できない状態で構築される。 | ||
| + | |||
| + | pyenvは比較的親切に、昨日の欠落をレポートしてくれるが、それでも漏れるものもある。 | ||
| + | 以下は、3.9.2を構築した際に、bzip2のライブラリが欠落している旨を通知してきた例である。 | ||
| + | |||
| + | <code bash> | ||
| + | $ pyenv install 3.9.2 | ||
| + | Downloading Python-3.9.2.tar.xz... | ||
| + | -> https:// | ||
| + | Installing Python-3.9.2... | ||
| + | WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib? | ||
| + | Installed Python-3.9.2 to / | ||
| + | |||
| + | $ | ||
| + | </ | ||
| + | |||
| + | Ubuntu 20.4 LTSで構築した際には、以下のライブラリを手動で追加した。他にも追加すべきものがあるかもしれない。 | ||
| + | |||
| + | * libbz2-dev | ||
| + | * libreadline-dev | ||
| + | * tk | ||
| + | * tk-dev | ||
| + | * libffi-dev | ||
| + | * libssl-dev | ||
| + | |||
| + | tkについては警告は出ないが、これがないと idle などのモジュールが使えない。 | ||
| + | |||
| + | libffi-devがないと、_ctypeがないエラーに見舞われて難儀する。 | ||
| + | 必須と言ってもいいライブラリである。 | ||
| + | |||
| + | ライブラリを追加したら、使いたいバージョンをインストールして、デフォルトのバージョンに設定する。 | ||
| + | |||
| + | <code bash> | ||
| + | $ pyenv install 3.9.2 | ||
| + | $ pyenv global 3.9.2 | ||
| + | </ | ||
| ==== goenv ==== | ==== goenv ==== | ||
| + | === 概要 === | ||
| + | goenvはGNU goのバージョンを管理する。 | ||
| + | === インストール === | ||
| + | 言うまでもなく、gitから直接インストールする。 | ||
| + | |||
| + | <code bash> | ||
| + | $ git clone https:// | ||
| + | </ | ||
| + | |||
| + | ~/ | ||
| + | |||
| + | <code bash> | ||
| + | if [ -d ${HOME}/ | ||
| + | export GOENV_ROOT=${HOME}/ | ||
| + | export PATH=${GOENV_ROOT}/ | ||
| + | export GOENV_SHELL=bash | ||
| + | eval " | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | あとは、ビルドしてバージョンを設定する。 | ||
| + | |||
| + | <code bash> | ||
| + | $ goenv install 1.16.0 | ||
| + | $ goenv global 1.16.0 | ||
| + | </ | ||
xxenv.1614565165.txt.gz · 最終更新: by araki
