memo.xight.org

日々のメモ

anyenv で phpenv の設定

Install

$ cd $PHPENV_ROOT
$ git submodule init
$ git submodule update
(snip)
Unable to checkout '4f5c3c8b8b58ffc1ef0f70e3b347dfbb6b63fd0f' in submodule path 'php-ext/http'

php-ext/http を origin/master から取ってくる

$ cd .anyenv/envs/phpenv/php-ext/http
$ git fetch
$ git reset --hard origin/master
$ cd ..
$ git commit -am 'fix http'

phpenv/phpenv の phpenv 0.0.4-dev は
phpenv install -l が動作しない。

CHH/phpenv を利用するには
$(anyenv root)/share/anyenv-install/phpenv を編集する

install_env "https://github.com/CHH/phpenv.git" "master"

$ rm $(anyenv root)/envs/phpenv
$ anyenv install phpenv

Reference

anyenvで入れたphpenvでMacにPHPをインストールする - DailyRecord::Base
http://littlestarling.github.io/blog/2014/05/02/install-php-via-phpenv-on-anyenv/

anyenv で pyenv の設定

Install

$ pyenv install X.X.X

pyenv-virtualenv の追加

$ git clone https://github.com/yyuu/pyenv-virtualenv.git $PYENV_ROOT/plugins/pyenv-virtualenv
$ exec $SHELL -l

anyenv で rbenv の設定

Install

$ anyenv install rbenv
$ rbenv install X.X.X
(snip)
$ rbenv global X.X.X
$ rbenv rehash
$ rbenv exec gem install bundler

ローカルの Gemfile を利用する

$ vi Gemfile
$ bundle install --path vendor/bundle
$ bundle exec ruby example.rb

rbenv で gem を使った時に自動的に rbenv rehash

zshrc

function gem(){
	$RBENV_ROOT/shims/gem $*
	if [ "$1" = "install" ] || [ "$1" = "i" ] || [ "$1" = "uninstall" ] || [ "$1" = "uni" ]
	then
		rbenv rehash
		rehash
	fi
}

Reference

rbenv で gem を使った時に rbenv rehash しなくて良くする - sorry, uninuplemented:
http://rhysd.hatenablog.com/entry/20120226/1330265121

rbenv, pyenv, plenv, phpenv から anyenv への移行

*env を remove

$ brew list |grep env
plenv
pyenv
pyenv-virtualenv
rbenv
$ brew remove plenv
$ brew remove pyenv
$ brew remove pyenv-virutalenv
$ brew remove rbenv

anyenv インストール

$ git clone https://github.com/riywo/anyenv ~/.anyenv

zshrc

if [ -d $HOME/.anyenv ] ; then
	export PATH="$HOME/.anyenv/bin:$PATH"
	eval "$(anyenv init -)"

	for D in `ls $HOME/.anyenv/envs`
	do
		export PATH="$HOME/.anyenv/envs/$D/shims:$PATH"
	done
fi

シェル再読み込み

$ exec $SHELL -l

anyenv で *env をインストール

$ anyenv install plenv
$ anyenv install pyenv
$ anyenv install rbenv
$ anyenv install phpenv

anyenv-update

$ mkdir -p $(anyenv root)/plugins
$ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
$ anyenv update

anyenv-exec

$ mkdir -p $(anyenv root)/plugins
$ git clone git://github.com/aereal/anyenv-exec.git $(anyenv root)/plugins/anyenv-exe
$ anyenv --version

anyenv-git

$ mkdir -p $(anyenv root)/plugins
$ git clone https://github.com/znz/anyenv-git.git $(anyenv root)/plugins/anyenv-git
$ anyenv git gc

Refence

GitHub - anyenv
https://github.com/riywo/anyenv

GitHub - anyenv-update
https://github.com/znz/anyenv-update

GitHub - anyenv-git
https://github.com/znz/anyenv-git

GitHub - anyenv-exec
https://github.com/aereal/anyenv-exec