gpt4 book ai didi

php - Composer 工作流是如何工作的?

转载 作者:可可西里 更新时间:2023-10-31 22:45:54 25 4
gpt4 key购买 nike

顺便说一句,我缺乏 sleep ,而且我现在似乎精神受限,这可能会让你觉得这像是毫无意义的咆哮,所以如果他们看起来不是这样,请耐心地接受他们。

我正在研究 OS X Snow Leopard。我不会撒谎,我很喜欢访问 PEAR 为我设置的二进制文件。我在安装 PEAR 包后简单地 brew unlink php53brew link php53 ,所以我在 /usr/local/bin 中得到它们的二进制文件.

以贝哈特为例。如果我通过 PEAR(现已过时)安装它,我执行上面的过程,我立即可以通过 behat 访问它,仅此而已。如果我要对 Composer 生成的整个 bin 文件夹进行符号链接(symbolic link),除了 behat 之外,我还会得到三个“命令”:behat.bat发布

我做错了什么吗?有没有一种方法可以将正确的二进制文件集中在例如 /usr/local/bin 上,最好不必向 $PATH 添加新路径?有没有办法通过 Composer 做到这一点?

我正在考虑 npm,您可以在其中设置模块的全局和本地版本。我想要(正确的)二进制文件的舒适全局版本。一种 gem ,没有真正不必要地复制东西。

你看到了吗?这是很多混杂的信息,但这就是我现在的想法。我想我正在寻找类似 this other question 的东西,仅适用于“供应商”二进制文件。

提前致谢!

PS:如果我真的听起来像一个悲惨的人,请告诉我,我会在睡个好觉后的第一个小时重新措辞我的信息。谢谢!

最佳答案

问题是,如果您在全局范围内安装东西,当一个项目需要不兼容的 Behat 1.5 和另一个 Behat 2.0(假想版本)时会发生什么?使用 require-dev 在项目本身中安装这些工具是解决此问题的好方法。然后你只需在你的项目中调用 bin/behat 就可以了(假设你在你的 composer 配置中放置了一个 bin-dir: bin,否则它就是 vendor/bin/behat)。

关于 behat.batrelease,那不会发生。这些文件存在于 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 从任何地方更新 behat/behat

关于php - Composer 工作流是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11534814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com