我正在使用Laravel。每當我需要運行測試,我必須執行在以下目錄中的PHPUnit:
如何創建PHPUnit的符號鏈接?
vendor/phpunit/phpunit/phpunit
如何創建一個符號鏈接,以上面的文件,這樣我就不必在完整路徑PHPUnit的輸入每次 ?
我嘗試下面的命令,但沒有工作:
ln -s vendor/phpunit/phpunit/phpunit mysym
出於某種原因,它說:「找不到命令」當我試圖執行的符號鏈接。
我正在使用Laravel。每當我需要運行測試,我必須執行在以下目錄中的PHPUnit:
如何創建PHPUnit的符號鏈接?
vendor/phpunit/phpunit/phpunit
如何創建一個符號鏈接,以上面的文件,這樣我就不必在完整路徑PHPUnit的輸入每次 ?
我嘗試下面的命令,但沒有工作:
ln -s vendor/phpunit/phpunit/phpunit mysym
出於某種原因,它說:「找不到命令」當我試圖執行的符號鏈接。
如何創建一個符號鏈接到上面的文件,以便我不必每次輸入完整路徑到phpunit?
你不做任何符號鏈接。相反,您需要將該路徑添加到您的變量$PATH
。另外,您應該使用vendor/bin
文件夾,而不是直接使用包的文件夾。
因此,在你的殼呢:
$ export PATH=$PATH:/home/you/project/vendor/bin/
您可以添加到您的.bashrc
爲好。
composer.json有一個選項來設置使命令文件放置:
"bin-dir": "vendor/bin",
它可以設置爲只是「斌」 - 所以它,由作曲家包括其他可運行文件將在那裏,例如bin/phpunit
。
參見:https://getcomposer.org/doc/articles/vendor-binaries.md
還有另一個可用的選項 - 在composer scripts,它也被用來運行「安裝後,CMD」 &「更新後的CMD」,但你可以把你自己命令在那裏。
"scripts": {
"test": "phpunit -v --debug",
"behat": "behat",
"post-install-cmd": [
... rest of composer.json
在這裏,如果我鍵入composer test
,它將使用給定的命令行運行PHPunit。
嗨馬爾辛,感謝您的答案。請注意,從我的/ var/www文件夾運行phpunit將執行另一個phpunit二進制文件,該文件與laravel不起作用。我試圖添加供應商/斌/ phpunit文件夾PATH變量,但沒有幫助。我嘗試清除我通過apt-get安裝的phpunit(不工作的應該做的那個),但是現在當我從www文件夾運行phpunit時,它說雖然運行完整路徑但沒有安裝phpunit。或者需要服務器重新啓動才能使路徑變量生效?謝謝 –
您好Marcin,感謝您的答案。這只是由於路徑變量中的錯字。 –