Подтвердить что ты не робот

Настройка 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

Так близко еще до сих пор... Мне интересно, есть ли у кого-нибудь какие-то сведения о том, как правильно работать с этим парнем?

4b9b3361

Ответ 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

  1. Загрузите phpunit вручную по адресу: https://phar.phpunit.de/phpunit.phar.
  2. Переместить в загруженную папку: $ cd/to/the/download/directory
  3. Переименуйте загруженный phpunit в phpunit.phar
  4. $ chmod +x phpunit.phar
  5. $ sudo mv phpunit.phar/usr/local/bin/phpunit