画竜点睛を衝く@mapyo

日々やった事をつらつらと書くブログです

phpbrew useした時に出たエラーとその解決

phpbrewとはこちら。

https://github.com/phpbrew/phpbrew

phpenvよりよさそうな感じがしている。

エラーの内容

$ phpbrew use php-5.3.29
__phpbrew_set_path:export:5: not valid in this context: Studio.app/sdk/platform-tools:/Users/mapyo/.composer/vendor/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin:/Users/mapyo/.go/bin:/Applications/Android

解決方法

https://github.com/phpbrew/phpbrew/issues/236#issuecomment-47447802

このissueによると、

~/.phpbrew/bashrc__phpbrew_set_pathの関数を、 以下のように書き換えてみて。ということだった。

function __phpbrew_set_path ()
{
    [[ -n $(alias php 2>/dev/null) ]] && unalias php 2> /dev/null

    if [[ -n $PHPBREW_ROOT ]] ; then
        PATH_WITHOUT_PHPBREW=$(perl -e 'print join ":", grep { index($_,$ENV{PHPBREW_ROOT}) } split/:/,$ENV{PATH};')
    fi

    if [[ -z "$PHPBREW_PATH" ]]
    then
        PATH=$PHPBREW_BIN:$PATH_WITHOUT_PHPBREW
    else
        PATH=$PHPBREW_PATH:$PHPBREW_BIN:$PATH_WITHOUT_PHPBREW
    fi
    export PATH
    export PATH_WITHOUT_PHPBREW

    # echo "PATH => $PATH"
}

書き換えると、普通にでけたー

$ phpbrew use php-5.3.29
$ php -v
PHP 5.3.29 (cli) (built: Dec 15 2014 07:34:54)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies

めでたしめでたし。