2013-03-30 3 views
4

Я борюсь с этой проблемой. Вот что я пробовал:Установка PHPUnit на MAMP 2.1.3 (Mountain Lion)

$ cd /Applications/MAMP/bin/php/php5.4.10/bin/ 
$ sudo ./pear channel-update pear.php.net 
$ sudo ./pear upgrade pear 
$ sudo /Applications/MAMP/bin/php/php5.4.10/bin/pear channel-discover pear.phpunit.de 
$ sudo /Applications/MAMP/bin/php/php5.4.10/bin/pear channel-discover pear.symfony-project.com 
$ sudo /Applications/MAMP/bin/php/php5.4.10/bin/pear install phpunit/PHPUnit 

Так что, кажется, работает, но PHPUnit фактически устанавливается в

/Applications/MAMP/bin/php3/bin/ 

Если бы я попытался запустить его оттуда, он не работает (нет выход, нет журнала). Если я переведу его в папку php 5.4.10, он все равно не работает.

Я заменил PHP CLI Mac OS с MAMP'S:

$ which php 
/Applications/MAMP/bin/php/php5.4.10/bin/php 

Как было предложено на каком-то сайте, я также попытался удалить

/Applications/MAMP/bin/php/php5.4.10/conf/pear.conf 

Но ничего, кажется, помогает.

Любая идея?

ответ

12

Я бы рекомендовал использовать composer. Это становится стандартом.

Для начала, перейдите в корневой каталог вашего проекта первым и создать composer.json там файл:

{ 
    "require-dev": { 
     "phpunit/phpunit": "*" 
    }, 
    "autoload": { 
     "psr-0": {"": "src"} 
    }, 
    "config": { 
     "bin-dir": "bin" 
    } 
} 

Вы можете настроить его под свои нужды позже. Вероятно, вам захочется настроить автозагрузку, если вы хотите использовать автозагрузчик композитора (что я рекомендую).

Следующая загрузка композитор:

curl -sS https://getcomposer.org/installer | php 

выше сценарий не только для загрузки, но и проверить свою среду, если она подходит для работы композитора двоичного.

Если все идет хорошо установить свои зависимости:

./composer.phar install --dev 

PHPUnit двоичная будет установлен в каталоге BIN (сконфигурированного в composer.json):

./bin/phpunit --version 
+0

Спасибо, я не знал, что Composer можно использовать для phpunit! Мне кажется странным, что мне нужен один экземпляр для каждого проекта, но это тоже может иметь смысл. – Julien

+0

Вы можете установить материал по всему миру. Тем не менее, я на самом деле думаю, что хорошо, что у вас есть отдельная копия для каждого проекта, так как вам могут понадобиться разные версии (но не для phpunit). –

+1

Да, также проще установить пакеты на другие машины ... Наверное, я начинаю понимать значение Composer! Благодарю. – Julien

0

Вы могли бы попробовать это solution from this site РНР бен может отличаться от установки.

/Applications/MAMP/bin/php5/bin/pear channel-discover pear.phpunit.de 
/Applications/MAMP/bin/php5/bin/pear channel-discover pear.symfony-project.com 
/Applications/MAMP/bin/php5/bin/pear channel-discover components.ez.no 
/Applications/MAMP/bin/php5/bin/pear install phpunit/PHPUnit 
3

Я сегодня утром встретил эту проблему и нашел эту тему, но ответ не полезен. Через пару часов поиска Google я нашел эту ссылку, это помогло мне решить мою проблему. http://www.startupcto.com/server-tech/macosx/installing-phpunit-on-mamp

My MAMP php version 5.5.3 Во-первых, вам, вероятно, потребуется обновить PEAR:

sudo /Applications/MAMP/bin/php/php5.5.3/bin/pear channel-update pear.php.net 

sudo /Applications/MAMP/bin/php/php5.5.3/bin/pear upgrade pear 

После этого добавьте соответствующие каналы PEAR для PHPUnit:

sudo /Applications/MAMP/bin/php/php5.5.3/bin/pear channel-discover pear.phpunit.de 
sudo /Applications/MAMP/bin/php/php5.5.3/bin/pear channel-discover pear.symfony.com 
sudo /Applications/MAMP/bin/php/php5.5.3/bin/pear channel-discover components.ez.no 

Наконец, нужно установить PHPUnit:

sudo /Applications/MAMP/bin/php/php5.5.3/bin/pear install phpunit/PHPUnit 

Проверить phpunit, чтобы убедиться, что он был установлен правильно:

/Applications/MAMP/bin/php/php5.5.3/bin/phpunit --version 

Ссылка PHPUnit в пути

sudo ln -s /Applications/MAMP/bin/php/php5.5.3/bin/phpunit /usr/local/bin/phpunit 

Надеется, что это поможет вам и любому решить эту проблему в будущем!

+0

Обратите внимание, что [ссылки только для ответов] (http://meta.stackoverflow.com/tags/link-only-answers/info) обескуражены, ответы SO должны быть конечной точкой поиска решения (vs. еще одна остановка ссылок, которые со временем становятся устаревшими). Пожалуйста, подумайте о добавлении отдельного резюме здесь, сохранив ссылку в качестве ссылки. – kleopatra

Смежные вопросы