Memo/Linux/anyenv

http://dexlab.net/pukiwiki/index.php?Memo%2FLinux%2Fanyenv
 

anyenv

  • https://github.com/riywo/anyenv
    • 複数言語、複数バージョンの切替で、*envを楽に扱うためのツール
    • rbenv: ruby
    • plenv: perl
    • pyenv: python
    • phpenv: php
    • ndenv: node
    • denv: dlang
    • jenv: JDK
    • luaenv: lua
    • goenv: golang

rbenv: ruby

  • CentOS 7: 「sudo yum info ruby」するとv2.0.0.648
  • CentOS 7: ruby 2.4.3(stable)をインストール。ビルドするので10分程時間がかかった
    1. anyenv install rbenv
    2. exec $SHELL -l
    3.  
    4. # ビルドに必要なパッケージをインストール
    5. sudo yum install -y openssl-devel \
    6.   readline-devel \
    7.   zlib-devel \
    8.   readline-devel
    9.  
    10. # インストール可能なバージョン確認
    11. rbenv install --list
    12. ...
    13. 2.4.3
    14.  
    15. # インストール
    16. rbenv install 2.4.3
    17.  
    18. # global version指定
    19. rbenv global 2.4.3
    20.  
    21. # local version指定する場合(特定のディレクトリのみ)
    22. rbenv local 2.4.3
    23.  
    24. ruby -v
    25. ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]
    26.  
    27. # bundlerのインストール
    28. gem install bundler
  • macOSの場合、brewで入れたrbenvは削除
    1. brew uninstall rbenv
    2. brew uninstall ruby-build
    3. rm ~/.ruby-version

phpenv: php

  • CentOS 7: 「sudo yum info php」するとv5.4
  • phpenvではソースからビルドするので時間がかかる。ビルドエラーが出る場合はyumで依存パッケージを追加。
    1. # CentOS 7.x
    2. sudo yum install --enablerepo=epel \
    3.  gcc \
    4.  libxml2-devel \
    5.  openssl-devel \
    6.  libcurl-devel \
    7.  libjpeg-turbo-devel \
    8.  libpng-devel \
    9.  libmcrypt-devel \
    10.  readline-devel \
    11.  libtidy-devel \
    12.  libxslt-devel \
    13.  bzip2-devel \
    14.  libicu-devel \
    15.  mysql-devel
    16.  
    17. anyenv install phpenv
    18. exec $SHELL -l
    19.  
    20. # インストール可能なバージョンの確認
    21. phpenv install -l
    22. 5.2.17
    23. ...
    24. 5.3.29
    25. ...
    26. 5.4.45
    27. ...
    28. 5.5.38
    29. ...
    30. 5.6.32
    31. ...
    32. 7.0.26
    33. ...
    34. 7.1.12
    35. ...
    36.  
    37. # 5.6.xをインストール
    38. PHP_VER=5.6.32
    39. phpenv install $PHP_VER
    40.  
    41. # globalでバージョン指定
    42. phpenv global $PHP_VER
    43.  
    44. # localで(現在のパスだけで)バージョン指定
    45. phpenv local $PHP_VER
    46.  
    47. # バージョン確認
    48. php -v
    49. PHP 5.4.16 (cli) (built: Nov 15 2017 16:33:54) 

ndenv: node.js

  • ndenv と yarnが同時にインストールされるようにする
    1. anyenv install ndenv
    2. git clone https://github.com/pine/ndenv-yarn-install.git "$(ndenv root)/plugins/ndenv-yarn-install"
    3. exec $SHELL -l
    4. ndenv hooks install
    5. # yarn-install.bash が表示されればOK
    6.  
    7. # ndenvがインストールされたかの確認
    8. anyenv version
  • node v8.7.0をインストール
    1. NODE_VER=v8.7.0
    2. # インストール可能なバージョンを確認
    3. ndenv install -l
    4.  
    5. ndenv install $NODE_VER
    6.  
    7. # インストール済みバージョンの確認
    8. ndenv versions
    9.  
    10. # globalでバージョン指定
    11. ndenv global $NODE_VER
    12.  
    13. # localで(現在のパスだけで)バージョン指定
    14. ndenv local $NODE_VER
    15.  
    16. # バージョン確認
    17. node -v
    18.  
    19. # うまく切り替わっていない場合
    20. ndenv rehash

pyenv: pyton

  • インストール
    1. anyenv install pyenv
    2. exec $SHELL -l
  • pyenvで最新の安定版Pythonをインストールする(2系3系とも) - Qiita
    1. pyenv install $(pyenv install -l | grep -v - | tr -d ' ' | grep '^2' | tail -1) && \
    2. pyenv install $(pyenv install -l | grep -v - | tr -d ' ' | grep '^3' | tail -1) && \
    3. pyenv rehash
    4.  
    5. pyenv versions
    6. * system
    7.   2.7.13
    8.   3.6.1
    9.  
    10. # globalでバージョン指定
    11. pyenv global 2.7.13
    12.  
    13. # localで(現在のパスだけで)バージョン指定
    14. pyenv local 2.7.13
    15.  
    16. pip --version
    17. pip 9.0.1 from ...
    18.  
  • コマンドと変更されるファイル
    • pyenv shell: ~/.python-version
    • pyenv global: ~/.python-version, ~/.pyenv/version, ~/.anyenv/envs/pyenv/version
    • pyenv local: .python-version
  • ファイルサイズ
    • python 2.7.13: 116MB
    • python 3.6.1: 166MB

インストール

  • CentOS 6.x 64bit:
    1. git clone https://github.com/riywo/anyenv ~/.anyenv
    2. echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
    3. echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
    4. exec $SHELL -l

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-03-26 (月) 15:39:57 (29d)