在OSX上设置PHPUnit

问题描述 投票:46回答:7

虽然我确信其他人最终已经设法解决了这个问题,但我一直在关注各种文档,并且已经有了一段艰难的时间。

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的“工作副本”。 (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

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

installation osx-snow-leopard phpunit pear
7个回答
164
投票

要通过终端安装:

curl https://phar.phpunit.de/phpunit.phar -L -o phpunit.phar

chmod +x phpunit.phar

mv phpunit.phar /usr/local/bin/phpunit

28
投票

我们可以使用Homebrew安装它

$ brew install phpunit

14
投票

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

brew tap josegonzalez/php
brew install phpunit

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

要么

制作符号链接

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

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


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”),请记住调整此路径。


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


2
投票
  1. https://phar.phpunit.de/phpunit.phar手动下载phpunit
  2. 移至下载的文件夹:$ cd /to/the/download/directory
  3. 将下载的phpunit重命名为phpunit.phar
  4. $ chmod +x phpunit.phar
  5. $ sudo mv phpunit.phar /usr/local/bin/phpunit
© www.soinside.com 2019 - 2024. All rights reserved.