Installed anyenv
背景 Background
VimプラグインでPythonを利用するなど、複数言語が必要になったため、
これを機にenv系のマネージャであるanyenvのインストールを行います。
目標 Goal
環境 Environment
手順 Operation
インストール
各環境に必要なパッケージは事前にインストール済みです。
$ cd $ git clone https://github.com/riywo/anyenv .anyenv $ vi .bash_profile export PATH=$HOME/.anyenv/bin:$PATH:$HOME/bin eval "$(anyenv init -)" $ exec $SHELL -l $ anyenv install rbenv $ anyenv install plenv $ anyenv install pyenv $ anyenv install phpenv $ anyenv install ndenv $ anyenv install denv $ exec $SEHLL -l
バージョン確認
下記動作確認中に動作が怪しい場合にはセッションを一度貼り直した方が良さそうです。
私は'anyenv version'でエラーを吐かれたのでとりあえず貼り直して解決しました。
$ rbenv --version rbenv 0.4.0-52-g1cc7536 $ plenv --version plenv 2.0.1-17-g31fb8c1 $ pyenv --version pyenv 0.4.0-20130726-23-gaab8bb2 $ phpenv --version phpenv v0.0.4-dev $ ndenv --version ndenv 0.4.0 $ denv denv 0.1.1 .... $ anyenv version denv: system (set by /home/mabulog/.anyenv/envs/denv/version) ndenv: system (set by /home/mabulog/.anyenv/envs/ndenv/version) phpenv: system (set by /home/mabulog/.anyenv/envs/phpenv/version) plenv: system (set by /home/mabulog/.anyenv/envs/plenv/version) pyenv: system (set by /home/mabulog/.anyenv/envs/pyenv/version) rbenv: system (set by /home/mabulog/.anyenv/envs/rbenv/version)
各言語のインストール
Ruby
$ rbenv install -l .... 1.9.3-p448 .... 2.0.0-p247 .... $ rbenv install 1.9.3-p448 $ rbenv install 2.0.0-p247 $ rbenv rehash $ rbenv global 2.0.0-p247 $ ruby --version ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] $ rbenv versions 1.9.3-p448 * 2.0.0-p247 (set by /home/mabulog/.anyenv/envs/rbenv/version)
Node.js
$ ndenv install -l .... v0.11.5 v0.11.6 $ ndenv install v0.11.5 $ ndenv install v0.11.6 $ ndenv rehash $ ndenv global v0.11.6 $ node --version v0.11.6 $ ndenv versions v0.11.5 * v0.11.6 (set by /home/mabulog/.anyenv/envs/ndenv/version)
Perl
$ plenv install -l .... 5.18.1 .... 5.19.3 $ plenv install 5.18.1 $ plenv install 5.19.3 $ plenv rehash $ plenv global 5.19.3 $ perl --version This is perl 5, version 19, subversion 3 (v5.19.3) built for x86_64-linux .... $ plenv versions system 5.18.1 * 5.19.3 (set by /home/mabulog/.anyenv/envs/plenv/version)
Python
$ pyenv install -l .... 2.7.5 .... 3.3.2 .... $ pyenv install 2.7.5 $ pyenv install 3.3.2 $ pyenv rehash $ pyenv global 3.3.2 $ python --version Python 3.3.2 $ pyenv versions system 2.7.5 * 3.3.2 (set by /home/mabulog/.anyenv/envs/pyenv/version)
D言語
$ denv install -l .... 2.062 2.063 $ denv install 2.062 $ denv install 2.063 $ denv rehash $ denv global 2.063 $ dmd DMD64 D Compiler v2.063 .... $ denv versions 2.062 * 2.063 (set by /home/mabulog/.anyenv/envs/denv/version)
PHP
事前確認
apxsの設置場所確認
$ which apxs /usr/sbin/apxs
memcached.hの設置場所確認
$ sudo find / -name "memcached.h" /usr/include/libmemcached/memcached.h
前回インストールした参照先から変更されています。
こちらの方が単体で動くため、今後利用者増加が期待されています。
$ phpenv install --releases .... php-5.5.3 php-5.5.2 .... $ vi .anyenv/envs/phpenv/etc/php-5.5.Linux.source .... #CONFIGURE_OPTIONS="--with-apxs2=/usr/bin/apxs2 # --enable-zend-multibyte CONFIGURE_OPTIONS="--with-apxs2=/usr/sbin/apxs .... --with-libmemcached-dir=/usr " .... $ phpenv install php-5.5.3 $ phpenv install php-5.5.2 $ phpenv rehash $ phpenv global 5.5.3 $ php --version PHP 5.5.3 (cli) (built with phpenv v0.0.4-dev: Sep 1 2013 20:18:51) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies $ phpenv versions phpenv v0.0.4-dev system 5.4.19 5.5.2 * 5.5.3 (set by /home/mabulog/.anyenv/envs/phpenv/version)
anyenv確認
$ anyenv version denv: 2.063 (set by /home/mabulog/.anyenv/envs/denv/version) ndenv: v0.11.6 (set by /home/mabulog/.anyenv/envs/ndenv/version) phpenv: 5.5.3 (set by /home/mabulog/.anyenv/envs/phpenv/version) plenv: 5.19.3 (set by /home/mabulog/.anyenv/envs/plenv/version) pyenv: 3.3.2 (set by /home/mabulog/.anyenv/envs/pyenv/version) rbenv: 2.0.0-p247 (set by /home/mabulog/.anyenv/envs/rbenv/version) $ anyenv versions denv: 2.062 * 2.063 (set by /home/mabulog/.anyenv/envs/denv/version) ndenv: v0.11.5 * v0.11.6 (set by /home/mabulog/.anyenv/envs/ndenv/version) phpenv: phpenv v0.0.4-dev system 5.4.19 5.5.2 * 5.5.3 (set by /home/mabulog/.anyenv/envs/phpenv/version) plenv: system 5.18.1 * 5.19.3 (set by /home/mabulog/.anyenv/envs/plenv/version) pyenv: system 2.7.5 * 3.3.2 (set by /home/mabulog/.anyenv/envs/pyenv/version) rbenv: 1.9.3-p448 * 2.0.0-p247 (set by /home/mabulog/.anyenv/envs/rbenv/version)
エラー Error
phpenvを利用したPHPインストール機能がうまく機能しなかったため、
PHPENV_DEBUGをonにして調査開始。
$ phpenv install -l phpenv v0.0.4-dev $ export PHPENV_DEBUG=1 $ phpenv install -l .... + [phpenv-install:580] init + [phpenv-install:136] pushd /home/mabulog/.anyenv/envs/phpenv + [phpenv-install:137] [[ ! -d /home/mabulog/.anyenv/envs/phpenv/php-src ]] + [phpenv-install:144] /usr/bin/git submodule update --checkout --recursive $ vi .anyenv/envs/phpenv/libexec/phpenv-install .... # Utility Functions # ----------------- # clones the php-src repo if it doesn't exist function init() { pushd "$PHPENV_ROOT" &> /dev/null if [[ ! -d "$SRC_DIR" ]]; then log "init extensions" "clone source for additional extensions" ${GIT} submodule init &> /dev/null ${GIT} submodule update &> /dev/null log "init" "cloning source from php-src Github repo" ${GIT} clone "$SRC_URL" "$SRC_DIR" &> /dev/null fi ${GIT} submodule update --checkout --recursive &> /dev/null popd &> /dev/null } ....
原因は144行目の"git submodule"コマンドに"--checkout"オプションがないためでした。 yumで入れたgitコマンドのバージョンが古いため、最新のgitコマンドをインストールして対処しました。
今後 To be continue.
サーバ構築時に入ったPerl等を入らなくても問題ない場合には、入らない構築手順を構築したい。
どの段階で入ったかは次のサーバ構築時に確認する。