我在一个私有Bitbucket存储库中设置了一个包,我在各种基于Laravel的客户端项目中使用它。我发现我经常添加到它,并希望能够根据需要使用最新版本的作曲家更新每个客户端的项目。
我如何在composer中添加一个从Bitbucket git存储库中提取的条目,而不必向composer中的客户端公开我的个人存储库登录名/密码?json文件吗?
使用ssh身份验证并配置一些部署密钥:
- 进入"项目设置->部署密钥"
- 然后为每个客户端添加不同的部署密钥。
您可以在关于如何使用Mercurial或Git设置ssh身份验证的链接中找到更多信息
我有一些问题与bitbucket私有仓库…所以我在项目根目录的composer.json中添加了这样的内容。
"require" : {
"php" : ">=5.4.0",
...,
"author/my-package" : "0.2"
},
"repositories": [
{
"type" : "package",
"package": {
"name" : "author/my-package",
"version": "0.2",
"source" : {
"url" : "ssh://hg@bitbucket.org/author/my-package",
"type" : "hg",
"reference": "0.2"
},
"require": {
"php": ">=5.4.0",
"zendframework/zendframework": "2.3.*"
},
"autoload": {
"psr-0": {
"PackageNameSpace": "src/"
},
"classmap": [
"./Module.php"
]
}
}
},
...
]
所以在作曲家之后。Phar更新会在vendor中创建repo目录…但是在private repo和composer中进行新提交之后。Phar更新它不拉上一个更改集…它停留在第一次回购时的头部