Installation 在OSX上设置PHPUnit

Installation 在OSX上设置PHPUnit,installation,osx-snow-leopard,phpunit,pear,Installation,Osx Snow Leopard,Phpunit,Pear,虽然我相信其他人最终都能弄明白这一点,但我一直在关注各种文档,经历了一段艰难的时光 听起来很简单。然而,根据你的设置,你可能会陷入一个兔子洞 例如,PEAR的版本必须高于1.8.1。当时我有1.8.0,所以我去了解如何更新PEAR PEAR upgrade-all 给出了一个错误。无法进入 sudo PEAR upgrade-all 工作,但升级用户“sudo”拥有的PEAR安装(而不是您的主帐户…或类似的东西,短版本是5,它显然不工作) 加 当您键入PEAR时,您终于可以开始安装PHPU

虽然我相信其他人最终都能弄明白这一点,但我一直在关注各种文档,经历了一段艰难的时光

听起来很简单。然而,根据你的设置,你可能会陷入一个兔子洞

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

PEAR upgrade-all
给出了一个错误。无法进入

sudo PEAR upgrade-all
工作,但升级用户“sudo”拥有的PEAR安装(而不是您的主帐户…或类似的东西,短版本是5,它显然不工作)

当您键入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
^^工作

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

如此接近却又如此遥远。。。我想知道是否有人对这家伙的正常工作有意见?

啊。。。。好啊我想我现在可以让它工作了

答案出现在PHPUnit文档中。

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

此时,所有文件都下载到/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要通过终端安装:

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

chmod +x phpunit.phar

mv phpunit.phar /usr/local/bin/phpunit
通过自制(仅当您也通过自制安装了php时):


您可以尝试使用Composer进行安装。通过这种方式,您可以为当前项目隔离PHPUnit版本,避免在为不同项目使用单个系统范围设置时可能出现的问题。正如PHPUnit文档所述(),安装非常简单

将依赖项添加到composer.json文件:

  {
     "require-dev": {
        "phpunit/phpunit": "4.0.*"
      }
  }
然后更新依赖项:

composer update
通过运行以下命令,PHPUnit即可使用:

./vendor/bin/phpunit

如果更改composer安装路径(默认为“供应商”),请记住调整此路径。

我们可以使用自制软件进行安装

$ brew install phpunit
安装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
文件

  • 从以下位置手动下载phpunit:
  • 移动到下载文件夹:
    $cd/to/the/download/directory
  • 将下载的phpunit重命名为phpunit.phar
  • $chmod+x phpunit.phar
  • $sudo mv phpunit.phar/usr/local/bin/phpunit

  • 我建议将php.ini文件中的include_路径设置为在符号链接上有额外的目录,这有点传统-包括在OSX上。对我有用。这也是PEAR文档中推荐的。这应该是正确的答案。这是在mac上全局安装phpunit最干净的方法。在osx上,您需要创建“本地”和“bin”文件夹。您可以使用
    sudo mkdir-p/usr/lcoal/bin
    @Jarrod您是否打印错误
    lcoal
    ?它应该是本地的吗?Thanks@Protocole嘿,是的,我做到了!应该是
    local
    这应该是正确的答案,但有一件事,我不确定我是否是唯一的一个,但我必须在curl命令中添加“-L”以使其遵循重定向,否则我将得到一个302 html页面
    curlhttps://phar.phpunit.de/phpunit.phar -o phpunit.phar-L
    选项--尽管不再需要开发,默认情况下,现在已经安装了开发包。现在,您不需要点击存储库
    brew安装phpunit
    就足够了。更准确地说,
    brew安装homebrew/php/phpunit
    @PetrPeller的评论在2021年不够精确<代码>错误:已弃用自制/php。此点击现在为空,其所有内容已被删除或迁移。。但是
    brew安装phpunit
    有效大多数人应该跳过公认的答案。自制软件在莫哈韦不起作用。。。仅供参考(无法创建符号链接错误)
    composer update
    
    ./vendor/bin/phpunit
    
    $ brew install phpunit
    
    curl https://phar.phpunit.de/phpunit.phar -o phpunit.phar
    
    chmod +x phpunit.phar
    
    mv phpunit.phar /usr/local/bin/phpunit
    
     phpunit --self-update