在OSX上设置PHPUnit

时间:2010-07-21 16:00:53

标签: installation osx-snow-leopard phpunit pear

虽然我确信其他人最终已经设法解决了这个问题,但我一直在关注各种文档并且一直都在考虑它。

http://www.phpunit.de/manual/current/en/installation.html

听起来很简单。但是,根据您的设置,您可能会陷入一个兔子洞。

例如,PEAR必须是高于1.8.1的版本。我当时有1.8.0,所以我去了解如何更新PEAR

PEAR upgrade-all

给出错误。无法访问。

sudo PEAR upgrade-all

工作,但升级用户'sudo'所拥有的PEAR安装(而不是你的主要帐户......或类似的东西,简短的版本是5,它显然不起作用)

cd ~
pico .bash_profile

添加

export PATH=/usr/local/bin:$PATH
当你输入PEAR时,

给你正确的PEAR,你终于准备好了安装PHPUnit指令的第1步。

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

但我是MAC!

/sigh
/facepalm
/tears

我实际上在我的机器上有一个phpunit的“工作副本”。 (是的!)奇怪的问题是  它仅在我从一个特定文件夹

键入phpunit时才有效
cd /usr/local/PEAR
phpunit

^^ WORKS

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

到目前为止如此接近......我想知道是否有人对让这个人正常工作有一些意见?

7 个答案:

答案 0 :(得分:161)

通过终端安装:

curl https://phar.phpunit.de/phpunit.phar -L -o phpunit.phar
chmod +x phpunit.phar
mv phpunit.phar /usr/local/bin/phpunit

答案 1 :(得分:26)

我们可以使用Homebrew

安装它
$ brew install phpunit

答案 2 :(得分:14)

通过自制软件(只有你通过自制软件安装了php):

brew tap josegonzalez/php
brew install phpunit

答案 3 :(得分:12)

啊......好吧......我想我现在可能已经开始工作了。

答案出现在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,如果我运行了“SUDO”用户下列出的所有命令,就安装了PHPUnit 例如:

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

OR

制作符号链接

cd /usr/lib/php
ln -s /usr/lib/pear/PHPUnit PHPUnit

我见过很多有类似问题的人,但这个特殊的解决方案并没有出现在我见过的任何一个主题中。希望对你有用:) -Alex

答案 4 :(得分:4)

您可以尝试使用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'。

答案 5 :(得分:3)

安装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文件。

答案 6 :(得分:2)

  1. https://phar.phpunit.de/phpunit.phar
  2. 手动下载phpunit
  3. 转到下载的文件夹:$ cd /to/the/download/directory
  4. 将下载的phpunit重命名为 phpunit.phar
  5. $ chmod +x phpunit.phar
  6. $ sudo mv phpunit.phar /usr/local/bin/phpunit