在 OSX 上设置 PHPUnit [英] Setting up PHPUnit on OSX

查看:28
本文介绍了在 OSX 上设置 PHPUnit的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Though I'm sure others have eventually managed to figure this out, I've been following the various documentation out there and have been having a heck of a rough time of it.

http://www.phpunit.de/manual/current/en/安装.html

听起来很简单.但是,根据您的设置,您可能会陷入困境.

Makes it sound pretty easy. However depending on your setup, you might be going down a rabbit hole.

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

PEAR for example must be of a version higher than 1.8.1. I had 1.8.0 at the time, so I went to find out how to update PEAR

PEAR upgrade-all

给出一个错误.没有访问权限.

Gives an error. No access.

sudo PEAR upgrade-all

工作,但升级用户sudo"拥有的 PEAR 安装(而不是您的主帐户......或类似的东西,短版本是 5,它根本不起作用)

Works, but upgrades the PEAR install owned by the user 'sudo' (and not your primary account... or something like that, short version is 5that it plain don't work)

cd ~
pico .bash_profile

添加

export PATH=/usr/local/bin:$PATH

当你输入 PEAR 时给你正确的 PEAR,你终于准备好安装 PHPUnit 说明的第 1 步了.

give you the correct PEAR when you type PEAR, you're finally ready for step 1 of the install PHPUnit instructions.

pear channel-discover pear.phpunit.de

错误.您无权访问/usr/local/temp

Error. You don't have access to /usr/local/temp

sudo chmod 777 /usr/local/temp

错误.您无权访问/usr/local/temp/channel.xml

Error. You don't have access to /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 时才有效

I've actually got a "working copy" of phpunit on my machine. (YAY!) the odd problem is that it only works when I type phpunit from one specific folder

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

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

So close yet so far... I'm wondering if anyone has some input on getting this guy working right?

推荐答案

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

Ahhh.... OK ... I think I might have gotten it working now.

答案在 PHPUnit 文档中.http://www.phpunit.de/manual/3.4/en/installation.html

the answer was present in the PHPUnit documentation. 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.

如果我运行SUDO"用户下列出的所有命令,我运行的 PEAR 的 Mac 版本确实安装了 PHPUnit例如:

The Mac version of PEAR that I was running, did install PHPUnit if I ran all the commands listed under the "SUDO" user eg:

sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear upgrade-all

此时,所有文件都下载到/usr/local/pear但是命令

At this point, all the files are downloaded to /usr/local/pear but the command

phpunit

正在寻找包含来自/usr/lib/php/PHPUnit 的文件的解决方案?从

is looking to include files from /usr/lib/php/PHPUnit The solution? To copy the PHPUnit folder from

cp /usr/lib/pear/PHPUnit /usr/lib/php

创建符号链接

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

我见过很多人有类似的问题,但这个特殊的解决方案并没有出现在我见过的任何线程中.希望对你有用:)-亚历克斯

I've seen a lot of people with similar problems, but this particular solution hadn't come up in any of the threads I've seen. Hopefully of use to you :) -Alex

这篇关于在 OSX 上设置 PHPUnit的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆