在MAMP 2.1.3(Mountain Lion)上安装PHPUnit

4

我遇到了这个问题。 这是我尝试过的:

$ 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文件夹中,它仍然不起作用。

我已经用MAMP的替换了Mac OS的php cli:

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

如一些网站建议的那样,我也尝试去除了

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

但是似乎没有什么能帮上忙。

有什么想法吗?

3个回答

12

我建议使用composer。它正在成为一种标准。

首先,进入您项目的根目录并在那里创建一个composer.json文件:

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

您稍后可以根据自己的需求进行调整。如果您想利用Composer的自动加载程序(我推荐这样做),则可能需要配置自动加载。

接下来下载Composer:

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

以上的脚本不仅会下载Composer,还会验证你的环境是否适合运行它。

如果一切顺利,请安装你的依赖项:

./composer.phar install --dev
PHPUnit二进制文件将被安装在bin目录中(在composer.json中配置):
./bin/phpunit --version

谢谢,我不知道 Composer 可以用于 phpunit!对我来说,每个项目都需要一个副本感觉有些奇怪,但这也可能是有道理的。 - Julien
你可以全局安装一些东西。然而,我认为为每个项目单独拥有一个副本是很好的,因为你可能需要不同的版本(虽然 PHPUnit 不是这种情况)。 - Jakub Zalas
1
是的,而且在其他机器上安装软件包也更容易...我想我开始理解Composer的价值了!谢谢。 - Julien

3
今天早上我遇到了这个问题,找到了这个主题,但是没有答案有用。经过几个小时的谷歌搜索,我发现了这个链接,它帮助我解决了我的问题:http://www.startupcto.com/server-tech/macosx/installing-phpunit-on-mamp 我的MAMP php版本是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

希望这可以帮助你和任何将来遇到这个问题的人!

请注意,不鼓励提供仅链接答案,Stack Overflow的答案应该是搜索解决方案的终点(而不是引用的另一个中转站,其随时间倾向于变得陈旧)。请考虑在此处添加独立的摘要,保留链接作为参考。 - kleopatra

0
你可以尝试这个来自该网站的解决方案 php二进制文件可能因安装而异。
/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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接