ユーザ用ツール

サイト用ツール


xxenv

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

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