Настройка PHPUnit на OSX
Хотя я уверен, что другим в конечном итоге удалось это понять, я следил за различной документацией, и у меня было чертовски трудное время.
http://www.phpunit.de/manual/current/en/installation.html
Звучит довольно легко. Однако, в зависимости от вашей установки, вы можете спуститься по кроличьей дыре.
PEAR, например, должен иметь версию выше 1.8.1. У меня было 1.8.0 в то время, поэтому я пошел, чтобы узнать, как обновить PEAR
PEAR upgrade-all
Дает ошибку. Нет доступа.
sudo PEAR upgrade-all
Работает, но обновляет установку PEAR, принадлежащую пользователю 'sudo' (а не вашу основную учетную запись... или что-то в этом роде, короткая версия - это то, что она не работает)
cd ~
pico .bash_profile
добавить
export PATH=/usr/local/bin:$PATH
дает вам правильный PEAR при вводе PEAR, вы, наконец, готовы к шагу 1 инструкций по установке PHPUnit.
pear channel-discover pear.phpunit.de
Ошибка. У вас нет доступа к /usr/local/temp
sudo chmod 777 /usr/local/temp
Ошибка. У вас нет доступа к /usr/local/temp/channel.xml
sudo chmod 777 /usr/local/temp/channel.xml
pear channel-discover pear.phpunit.de
Ошибка.
Registry directory is not writeable by the current user
НО Я НА МАК!
/sigh
/facepalm
/tears
У меня на самом деле есть "рабочая копия" phpunit на моей машине. (YAY!) Странная проблема в том, что
он работает только при вводе phpunit из одной конкретной папки
cd /usr/local/PEAR
phpunit
^^ РАБОТЫ
cd ~
phpunit
^^ Возвращает
Warning: require_once(PHPUnit/Util/Filter.php): failed to open stream: No such file or directory in /usr/local/bin/phpunit on line 46
Fatal error: require_once(): Failed opening required 'PHPUnit/Util/Filter.php' (include_path='.:/usr/lib/php') in /usr/local/bin/phpunit on line 46
Так близко еще до сих пор... Мне интересно, есть ли у кого-нибудь какие-то сведения о том, как правильно работать с этим парнем?
Ответы
Ответ 1
А-а-а-а-а-а-а-а-а-а-а-а-а-а-а-а,
ответ был представлен в документации PHPUnit.
http://www.phpunit.de/manual/3.4/en/installation.html
After the installation you can find the PHPUnit source files inside your local PEAR directory; the path is usually /usr/lib/php/PHPUnit.
Mac-версия PEAR, в которой я была запущена, установила PHPUnit, если я запустил все команды, перечисленные под пользователем SUDO
например:
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear upgrade-all
В этот момент все файлы загружаются в /usr/local/pear, но команда
phpunit
пытается включить файлы из /usr/lib/php/PHPUnit. Решение? Чтобы скопировать папку PHPUnit из
cp /usr/lib/pear/PHPUnit /usr/lib/php
ИЛИ
сделать символическую ссылку
cd /usr/lib/php
ln -s /usr/lib/pear/PHPUnit PHPUnit
Я видел много людей с похожими проблемами, но это конкретное решение не появилось ни в одном из тем, которые я видел. Надеюсь, вам будет полезно:)
Для -Alex-
Ответ 2
Для установки через терминал:
curl https://phar.phpunit.de/phpunit.phar -L -o phpunit.phar
chmod +x phpunit.phar
mv phpunit.phar /usr/local/bin/phpunit
Ответ 3
Мы можем установить его с помощью Homebrew
$ brew install phpunit
Ответ 4
Через homebrew (только если вы также установили php через homebrew):
brew tap josegonzalez/php
brew install phpunit
Ответ 5
Вы можете попробовать установить с помощью Composer. Таким образом вы изолируете версию PHPUnit для текущего проекта, избегая возможных проблем, которые могут возникнуть при использовании единой общесистемной установки для разных проектов. Как указано в документации PHPUnit (http://phpunit.de/manual/current/en/installation.html#installation.composer), установка довольно проста.
Добавьте зависимость к вашему файлу composer.json:
{
"require-dev": {
"phpunit/phpunit": "4.0.*"
}
}
Затем обновить зависимости:
composer update
И PHPUnit готов к использованию при запуске:
./vendor/bin/phpunit
Не забудьте настроить этот путь, если вы измените путь установки композитора, который по умолчанию соответствует "vendor".
Ответ 6
Установить PHPUnit
curl https://phar.phpunit.de/phpunit.phar -o phpunit.phar
chmod +x phpunit.phar
mv phpunit.phar /usr/local/bin/phpunit
ИЛИ, если вы уже установили PHPUnit, просто попробуйте эту строку для обновления PHPUnit терминалом
phpunit --self-update
это обновит ваш файл phpunit.phar
.
Ответ 7
- Загрузите phpunit вручную по адресу: https://phar.phpunit.de/phpunit.phar.
- Переместить в загруженную папку:
$ cd/to/the/download/directory
- Переименуйте загруженный phpunit в phpunit.phar
-
$ chmod +x phpunit.phar
-
$ sudo mv phpunit.phar/usr/local/bin/phpunit