我正在尝试创建类似于laravel安装程序的东西,它是一个利用Symfony控制台组件的PHP脚本。一切都很好,除了我似乎无法在我的命令行上全局执行该死的东西。
我目前已将脚本(锅炉)存储为/dir/dir/vendor/author/packagename/boiler。
通过作曲家,我还有一个符号链接,指向来自/dir/dir/vendor/bin/的脚本。通过 composer.json 中的 bin 自动完成。
我已经更新了我的$PATH,现在显示/文件夹/文件夹/供应商/bin/指向符号链接;
我的脚本开始:
#!/usr/bin/env php
权限为:
-rwxr-xr-x
我在Mac OSX上运行Zshell。
如果我进入目录并键入php boiler
但它boiler
返回未找到命令,并且如果我在不同的目录中,boiler
也返回未找到命令,它将运行。 php boiler
返回"无法打开输入文件:锅炉"
安装程序完全按照我想要的方式运行,在命令行上的任何地方只使用laravel。
完全不知所措。谷歌没有出现任何类似的问题,Stack也没有(不过我的搜索能力可能很欠缺,现在是凌晨4点。
对于那些有类似问题的人:
- 使用
which commandName
查看它是否已正确添加到您的$PATH - 检查符号链接是否正确(如果它通过一个)
- 检查符号链接和可执行脚本的权限
- 发布到堆栈溢出,以便它只是..修复自己。
所以。。。 which boiler
返回了正确的路径,所以我再次尝试从我的家目录boiler
,它起作用了。
我真的没有改变任何事情,被困了一个小时。我不明白。。。
谢谢大家的帮助。