我正在使用Laravel。每当我需要运行测试时,我都必须在以下目录中执行 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" - 因此,Composer 包含的其他可运行文件将在那里,例如 bin/phpunit
.
请参阅:https://getcomposer.org/doc/articles/vendor-binaries.md
还有另一个可用的选项 - 作曲家脚本,它也用于运行"post-install-cmd"和"post-update-cmd",但你可以在那里放置自己的命令。
"scripts": {
"test": "phpunit -v --debug",
"behat": "behat",
"post-install-cmd": [
... rest of composer.json
在这里,如果我输入 composer test
,它将使用给定的命令行运行 PHPunit。