php – Composer工作流程如何真正起作用?
作者:互联网
顺便说一句,我现在缺少睡眠,而且我现在似乎被头脑挡住了,这可能会让你看起来像是无意义的咆哮,所以如果他们看起来不那么请耐心地接受它们.
我正在开发OS X Snow Leopard.我不会说谎我喜欢访问PEAR为我设置的二进制文件.我安装PEAR软件包后,我只是简单地断开连接php53和brew链接php53,所以我在/usr/local/bin中获取了它们的二进制文件.
以Behat为例.如果我通过PEAR(现在已经过时)安装它,我会执行上面的过程,我立即通过behat访问它,就这样.如果我要对整个bin文件夹生成的符号链接进行符号链接,除了behat:behat.bat和release之外,我还会得到三个“命令”.
难道我做错了什么?有没有办法集中正确的二进制文件,例如在/usr/local/bin上,最好不必添加$PATH的新路径?有没有办法通过Composer来实现?
我正在考虑使用npm,您可以在其中设置模块的全局和本地版本.我想要(正确的)二进制文件的舒适全球版本.一种宝石,没有真正重复不必要的东西.
你看?这是很多混合信息,但这就是我现在的感觉.我想我正在寻找像this other question这样的东西,只适用于“供应商”二进制文件.
提前致谢!
PS:如果我真的听起来像个悲惨的人,请告诉我,我会在睡个好觉后的第一个小时重述我的信息.谢谢!
解决方法:
问题是如果你在全局安装东西,当一个项目需要Behat 1.5和另一个不兼容的Behat 2.0(虚构版本)时会发生什么?使用require-dev在项目本身中安装这些工具是解决此问题的好方法.然后你只需要在你的项目中调用bin / behat就可以了(假设你在你的作曲家配置中放了一个bin-dir:bin,否则它就是vendor / bin / behat).
关于behat.bat和release,这不会发生.这些文件存在于behat中,但它们不会在composer bin目录中链接.
最后,如果你真的想让它全局化,你可以使用〜/ phputils / composer.json或者:
{
"require": {
"behat/behat": "*"
},
"config": {
"bin-dir": "/usr/local/bin"
}
}
我不确定目前绝对的bin-dir是否正常工作,我特别不确定这样做是否是一个好主意,但这是一个选择.我最好说你应该把它作为“bin”并将〜/ phputils / bin添加到你的PATH中.然后你可以进入该目录,运行composer install / update,就是这样.
在/usr/local/bin中执行composer -g shell脚本也可以做cd~ / phputils /&& composer $*所以你可以从任何地方调用composer-g update behat / behat.
标签:php,composer-php,behat 来源: https://codeday.me/bug/20190530/1182424.html