Php 什么';s通过共享内部库使用SATIS的正确方法
问题是: 我有两个用Symfony编写的项目的实体是相同的,并且将是相同的。我们有了一个在项目之间共享它们的想法。第一个想法是使用git子模块,但每个人都知道这不是最舒适的解决方案。因此,我们将它们作为单独的git存储库放在Satis中 在一个项目中,我想在应用程序目录Php 什么';s通过共享内部库使用SATIS的正确方法,php,git,composer-php,symfony,satis,Php,Git,Composer Php,Symfony,Satis,问题是: 我有两个用Symfony编写的项目的实体是相同的,并且将是相同的。我们有了一个在项目之间共享它们的想法。第一个想法是使用git子模块,但每个人都知道这不是最舒适的解决方案。因此,我们将它们作为单独的git存储库放在Satis中 在一个项目中,我想在应用程序目录src/AppBundle/Entity中编辑它们,在另一个项目中,它们可以下载到vendor目录中 问题是如何设置composer,以便我可以不在供应商目录中使用它们。提交将是什么样子?这需要git子模块吗 我已经读过关于“ty
src/AppBundle/Entity
中编辑它们,在另一个项目中,它们可以下载到vendor
目录中
问题是如何设置composer,以便我可以不在供应商
目录中使用它们。提交将是什么样子?这需要git子模块吗
我已经读过关于“type”:“path”
对于存储库,我已经检查了composer安装程序。除了我现在想到的符号链接,还有其他解决方案吗
总而言之
如何在一个项目中使用应用程序目录中的共享库,在另一个项目中使用供应商目录中的共享库 这是对我有效的解决方案 我已将内部库克隆到project中 在主项目中,我将此目录添加到.gitignore,在composer.json中,我添加了以下行
"repositories": [
{
"type": "path",
"url": "internal-library",
"options": {
"symlink": true
}
},
{
"type": "composer",
"url": "http://our-satis"
}
],
在另一个项目中,我只添加了satis存储库(实体将仅在一个项目中更改,并导入到另一个项目中)
所以现在在开发中,当我更新composer时,库被符号链接到供应商目录。如果我没有这个目录,它将从satis获取。由于我的指令不存在,生产存储库将从satis获取。我在PSR加载方面遇到了一些问题,但一切正常
我希望它能帮助那些和我有同样问题的人 我想您可以尝试使用Composer的
——首选源代码选项。我没有尝试过,所以我不会将其作为答案发布,但此链接可能会有帮助。首选source将从github/gitlab等下载它,而不是PackageGist/satis,因此这不是问题。它将根据您的composer.json配置下载它。存储库在哪里并不重要。是的,但使用首选源,它将尝试从CVS(或任何其他源)而不是缓存的“dist”版本下载它。这仍然不是问题。这不是您想要的吗?您希望在一个本地项目中处理两个存储库。因此,您需要克隆存储库,而不是下载dist版本。
"repositories": [
{
"type": "composer",
"url": "http://our-satis"
}
],