Ubuntu 终端上未检测到 composer vendor/bin 文件
composer vendor/bin files not being detected on Ubuntu Terminal
昨天我刚刚在我的虚拟机 Ubuntu 15.10 上安装了 Laravel 和 Behat。
一切正常,运行 命令 $ vendor/bin/behat --init
成功创建了 features/
文件夹
但是今天有些事情很奇怪,当 运行 $ vendor/bin/behat
它说 vendor/bin/behat: line 1: ../behat/behat/bin/behat: No such file or directory
vendor/bin/behat
文件里面有什么?
这第一个单行../behat/behat/bin/behat
访问实际位置有效 $ vendor/behat/behat/bin/behat
这基本上意味着 file DOES exists
请注意,vendor/bin
中的文件(如 doctrine
phpspec
等)也存在同样的问题。
您遇到了相对路径问题。如果您的当前目录包含 vendor/
而您执行 vendor/bin/behat
,则 ../behat/behat/bin/behat
不存在,因为它会从您的当前目录向上一个目录,而不是 vendor/bin/
。例如:
$ cd $HOME/project
$ vendor/bin/behat
vendor/bin/behat: line 1: ../behat/behat/bin/behat: No such file or directory
该相对路径变为 $HOME/project/behat/behat/bin/behat
而不是 $HOME/project/vendor/behat/behat/bin/behat
(注意 vendor
出现在第二个路径中)
执行时需要在vendor/bin/
里面 behat
:
$ cd $HOME/project/vendor/bin
$ behat
...
但是,我认为这不是最新 behat
安装 line #1 is a well formed shebang. I think you might want to destroy your vendor
install, update composer, etc, and reinstall Behat 的问题。这些文件不应以相对路径开头。
编辑:
根据作曲家文档,它 creates symlinks to package binaries, as seen in the source code。您可以通过 运行 ls -l vendor/bin
来验证这一点(所有符号链接都有一个 ->
指向它们的目标路径)。看起来你原来的 php composer.phar require ...
从一开始就损坏了。
昨天我刚刚在我的虚拟机 Ubuntu 15.10 上安装了 Laravel 和 Behat。
一切正常,运行 命令 $ vendor/bin/behat --init
成功创建了 features/
文件夹
但是今天有些事情很奇怪,当 运行 $ vendor/bin/behat
它说 vendor/bin/behat: line 1: ../behat/behat/bin/behat: No such file or directory
vendor/bin/behat
文件里面有什么?
这第一个单行../behat/behat/bin/behat
访问实际位置有效 $ vendor/behat/behat/bin/behat
这基本上意味着 file DOES exists
请注意,vendor/bin
中的文件(如 doctrine
phpspec
等)也存在同样的问题。
您遇到了相对路径问题。如果您的当前目录包含 vendor/
而您执行 vendor/bin/behat
,则 ../behat/behat/bin/behat
不存在,因为它会从您的当前目录向上一个目录,而不是 vendor/bin/
。例如:
$ cd $HOME/project
$ vendor/bin/behat
vendor/bin/behat: line 1: ../behat/behat/bin/behat: No such file or directory
该相对路径变为 $HOME/project/behat/behat/bin/behat
而不是 $HOME/project/vendor/behat/behat/bin/behat
(注意 vendor
出现在第二个路径中)
执行时需要在vendor/bin/
里面 behat
:
$ cd $HOME/project/vendor/bin
$ behat
...
但是,我认为这不是最新 behat
安装 line #1 is a well formed shebang. I think you might want to destroy your vendor
install, update composer, etc, and reinstall Behat 的问题。这些文件不应以相对路径开头。
编辑:
根据作曲家文档,它 creates symlinks to package binaries, as seen in the source code。您可以通过 运行 ls -l vendor/bin
来验证这一点(所有符号链接都有一个 ->
指向它们的目标路径)。看起来你原来的 php composer.phar require ...
从一开始就损坏了。