composer 应该 installed/copied 每个项目还是存储在一个位置?

Should composer be installed/copied to every project or stored in a single location?

我正在与作曲家合作,我最近开始了一个需要它的新项目。没什么大不了的,因为我已经在另一个项目中下载了 json 文件和供应商文件夹以及诸如此类的东西。

除非我必须从我的原始项目目录中复制作曲家文件并将它们粘贴到新项目目录中。这是使用 composer 的正确方法还是我应该将文件包含在一个外部位置并由我的每个项目引用?

我知道这有点偏离主题,但我在其他地方找不到直接的答案,非常感谢您就此事提出建议。谢谢

你做的很好。每个项目文件夹都应该有自己的作曲家文件。这样,每个项目对依赖项的更新或更改都是独立的。

这可能是一个高级主题,您可以在其中修改 php.ini 的包含路径。

您不需要为每个项目复制作曲家供应商文件。您可以指定 'global' 作为参数,这会将供应商项目保存在全局路径中。

然后,调整您的 php.ini's include_path 包括该全局路径的自动加载。

require_once("vendor/autoload.php");

请勿将“./”前缀作为“./vendor/...”,并且该文件包含在全局存储库中。这是针对每个用户的配置,可能在您的 linux 控制台上被允许。

您项目的 json 文件附加在项目本身中,但供应商路径来自全球。许多项目可以共享同一个存储库。它可能不会对性能产生太大影响,因为自动加载会尽力而为。