2010-07-21 79 views
38

儘管我確信其他人最終設法解決了這個問題,但我一直在關注各種文檔,並且一直在困難時期。在OSX上設置PHPUnit

http://www.phpunit.de/manual/current/en/installation.html

使得它聽起來很容易。然而,根據你的設置,你可能會掉下一個兔子洞。

PEAR例如必須是高於1.8.1的版本。我當時有1.8.0,所以我去了解如何更新PEAR

PEAR upgrade-all 

給出錯誤。無法訪問。

sudo PEAR upgrade-all 

作品,但升級PEAR安裝用戶「須藤」資(而不是你的主帳戶...或類似的東西,短版是5that它平淡不工作)

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 

^^ WORKS

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的工作原理但迄今爲止...我想知道是否有人有一些關於讓這個傢伙正常工作的投入?

回答

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. 

,我正在運行PEAR的Mac版本,沒有安裝PHPUnit如果我跑下了「命令」用戶 如列出的所有命令:

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

在這一點上,所有的該文件被下載到/ usr /本地/梨,但命令

phpunit 

正在尋求包括文件從/ usr/lib目錄/ PHP/PHPUnit的解決方案?若要從

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

OR

複製PHPUnit的文件夾,使

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

我見過一個符號,很多人有類似的問題,但這個特殊的解決方案還沒有拿出在我見過的任何線程。希望你有幫助:) -Alex

+5

我會建議在您的php.ini文件中設置include_path以將其他目錄放在符號鏈接上,這是一個更傳統一點 - 包括在OSX上。適用於我。這也是PEAR文檔中推薦的。 – 2011-01-06 22:58:17

140

要通過終端安裝:

curl https://phar.phpunit.de/phpunit.phar -L -o phpunit.phar 
chmod +x phpunit.phar 
mv phpunit.phar /usr/local/bin/phpunit 
+2

這應該是正確的答案。這是在mac上全局安裝phpunit的最簡單方法。 – TiMESPLiNTER 2015-04-20 07:36:01

+0

而在osx上,您需要創建「本地」和「bin」文件夾。你可以用'sudo mkdir -p/usr/lcoal/bin'來做到這一點。 – Jarrod 2015-05-13 22:09:08

+0

@Jarrod你錯誤地打印了'lcoal'嗎?它應該是「本地」嗎?謝謝 – Protocole 2015-09-02 03:07:11

12

通過自制軟件(僅當您已經安裝了通過自制的PHP以及):

brew tap josegonzalez/php 
brew install phpunit 
+6

現在,您不需要點擊存儲庫。 'brew install phpunit'就夠了。 – 2016-02-01 06:24:08

3

你可以嘗試使用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 

記住如果更改作曲者安裝路徑(默認爲「供應商」),請調整此路徑。

+1

雖然現在不再需要選項--dev,但默認情況下已安裝dev軟件包。 – jahller 2015-09-28 20:54:20

+0

謝謝,更新了答案 – jaime 2015-09-29 19:01:13

15

我們可以安裝它使用自制

$ brew install phpunit 
+2

更確切地說'brew安裝homebrew/php/phpunit' – 2016-05-24 15:57:43

+0

它的工作。謝謝! – 2017-05-04 07:55:42

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 --self-update 

更新的PHPUnit這會更新您的phpunit.phar文件。

1

https://phar.phpunit.de/phpunit.phar 手動下載phpunit然後轉到第012步的終端 下載文件夾。chmod + x phpunit.phar 第2步。sudo mv phpunit.phar/usr/local/bin/phpunit