代码之家  ›  专栏  ›  技术社区  ›  Alex C

在OSX上设置phpunit

  •  45
  • Alex C  · 技术社区  · 16 年前

    虽然我确信其他人最终也能解决这个问题,但我一直在跟踪各种文档,并且经历了一段艰难的时期。

    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时工作

    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
    

    那么近,那么远…我想知道是否有人对让这家伙正常工作有意见?

    7 回复  |  直到 7 年前
        1
  •  158
  •   Andy    10 年前

    通过终端安装:

    curl https://phar.phpunit.de/phpunit.phar -L -o phpunit.phar
    chmod +x phpunit.phar
    mv phpunit.phar /usr/local/bin/phpunit
    
        2
  •  25
  •   Mike Nguyen    10 年前

    我们可以用自制的来安装它

    $ brew install phpunit
    
        3
  •  14
  •   Nathan Kot    12 年前

    通过homebrew(仅当您也通过homebrew安装了php时):

    brew tap josegonzalez/php
    brew install phpunit
    
        4
  •  12
  •   Alex C    16 年前

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

    答案出现在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.
    

    我运行的Pear的Mac版本在运行“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
    

    我见过很多有类似问题的人,但在我见过的任何一个线程中都没有找到这个特定的解决方案。希望对你有用:) -亚历克斯

        5
  •  4
  •   jaime    10 年前

    您可以尝试使用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”的composer安装路径,请记住调整此路径。

        6
  •  3
  •   Saurabh Chandra Patel cskwg    10 年前

    安装PHPUnter

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

        7
  •  2
  •   Pratik Patel    7 年前
    1. 手动从以下位置下载phpunit: https://phar.phpunit.de/phpunit.phar
    2. 移动到下载的文件夹: $ cd /to/the/download/directory
    3. 将下载的phpunit重命名为 苯基吡咯烷
    4. $ chmod +x phpunit.phar
    5. $ sudo mv phpunit.phar /usr/local/bin/phpunit