Memo/Linux/anyenv

https://dexlab.net:443/pukiwiki/index.php?Memo/Linux/anyenv
 

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分程時間がかかった
    anyenv install rbenv
    exec $SHELL -l
    
    # ビルドに必要なパッケージをインストール
    sudo yum install -y openssl-devel \
      readline-devel \
      zlib-devel \
      readline-devel
    
    # インストール可能なバージョン確認
    rbenv install --list
    ...
    2.4.3
    
    # インストール
    rbenv install 2.4.3
    
    # global version指定
    rbenv global 2.4.3
    
    # local version指定する場合(特定のディレクトリのみ)
    rbenv local 2.4.3
    ruby -v
    ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]
    
    # bundlerのインストール
    gem install bundler
  • macOSの場合、brewで入れたrbenvは削除
    brew uninstall rbenv
    brew uninstall ruby-build
    rm ~/.ruby-version

phpenv: php

  • CentOS 7: 「sudo yum info php」するとv5.4
  • phpenvではソースからビルドするので時間がかかる。ビルドエラーが出る場合はyumで依存パッケージを追加。
# CentOS 7.x
sudo yum install --enablerepo=epel \
 gcc \
 libxml2-devel \
 openssl-devel \
 libcurl-devel \
 libjpeg-turbo-devel \
 libpng-devel \
 libmcrypt-devel \
 readline-devel \
 libtidy-devel \
 libxslt-devel \
 bzip2-devel \
 libicu-devel \
 mysql-devel

anyenv install phpenv
exec $SHELL -l

# インストール可能なバージョンの確認
phpenv install -l

# 5.6.xをインストール
PHP_VER=5.6.32
phpenv install $PHP_VER

# globalでバージョン指定
phpenv global $PHP_VER

# localで(現在のパスだけで)バージョン指定
phpenv local $PHP_VER

# バージョン確認
php -v
PHP 5.4.16 (cli) (built: Nov 15 2017 16:33:54)

ndenv: node.js

  • ndenv と yarnが同時にインストールされるようにする
    anyenv install ndenv
    exec $SHELL -l
    git clone https://github.com/pine/ndenv-yarn-install.git "$(ndenv root)/plugins/ndenv-yarn-install"
    ndenv hooks install
    # yarn-install.bash が表示されればOK
    
    # ndenvがインストールされたかの確認
    anyenv version
  • nodejs/Release: Node.js Foundation Release Working Group を見てLTS版を入れればOK
  • node v8.12.0をインストール
    NODE_VER=v8.12.0
    
    # インストール可能なバージョンを確認
    ndenv install -l
    ndenv install $NODE_VER
    
    # インストール済みバージョンの確認
    ndenv versions
    
    # globalでバージョン指定
    ndenv global $NODE_VER
    
    # localで(現在のパスだけで)バージョン指定
    ndenv local $NODE_VER
    # バージョン確認
    node -v
    
    # うまく切り替わっていない場合
    ndenv rehash
    
    # yarn add global でインストールされたappにパスを通す
    echo 'export PATH=$PATH:~/node_modules/.bin' > ~/.bash.d/ndenv.sh
    chmod +x ~/.bash.d/ndenv.sh
    source ~/.bashrc

pyenv: pyton

  • インストール
    anyenv install pyenv
    exec $SHELL -l
  • pyenvで最新の安定版Pythonをインストールする(2系3系とも) - Qiita
    pyenv install $(pyenv install -l | grep -v - | tr -d ' ' | grep '^2' | tail -1) && \
    pyenv install $(pyenv install -l | grep -v - | tr -d ' ' | grep '^3' | tail -1) && \
    pyenv rehash
    pyenv versions
    * system
      2.7.13
      3.6.1
    
    # globalでバージョン指定
    pyenv global 2.7.13
    
    # localで(現在のパスだけで)バージョン指定
    pyenv local 2.7.13
    pip --version
    pip 9.0.1 from ...
  • コマンドと変更されるファイル
    • 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:
    git clone https://github.com/riywo/anyenv ~/.anyenv
    echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
    echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
    exec $SHELL -l

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