我刚开始使用Composer功能,你告诉它查看本地目录中的依赖项,这样你就可以开发一个库和一些并行使用该库的东西,而不必一直推送到git来更新,这是真棒.例如
"repositories": [
{
"type": "vcs",
"url": "/documents/projects/github/guzzle"
}
],
"require":{
"guzzle/guzzle": "3.7.*@dev"
}
Run Code Online (Sandbox Code Playgroud)
因此,当您进行作曲家更新时,Composer将从本地目录中提取Guzzle的版本,因此您可以在另一个使用该库的应用程序中测试库的代码,而无需在每次代码更改之间推送到存储库.
但是我几乎在composer.json中检查了我的项目 - 这显然不适用于任何elses机器.
反正有没有告诉作曲家使用不同于composer.json的文件,或者其他方式能够告诉作曲家安全地使用本地目录,而不是很有可能意外地将一个破碎的composer.json版本提交到你的存储库?
使用COMPOSER环境变量:
env COMPOSER=composer-dev.json composer install
Run Code Online (Sandbox Code Playgroud)
它至少从2012年开始提供.
--prefer-source您可以将选项添加到命令并删除本地存储库composer install/update引用,而不是从其他地方的本地存储库获取。
这样,composer 就会调用 git 将软件克隆到供应商目录中,您可以开发您的软件并提交给供应商软件,因为这也是一个完全工作的 git 存储库。
不建议添加本地存储库引用。当将它们用于真正的本地软件时,它可以工作,但维护它有一定的开销:您必须在每个将加载该软件的composer.json文件中提及此存储库,即使它只是间接依赖项(即您添加一个软件)需要此软件作为本地存储库中的依赖项)。
对存储库的 URL 进行硬编码还可以防止您随意更改它。即使您可以移动存储库并相应地更改 URL,所有旧版本的软件在composer.json 和composer.lock 文件中仍然具有旧的URL,并且会尝试从那里加载。
| 归档时间: |
|
| 查看次数: |
3241 次 |
| 最近记录: |