【发布时间】:2015-04-21 21:58:14
【问题描述】:
我的项目使用我自己的库,该库位于位于 bitbucket.org 上的私有 Mercurial 存储库中。该库没有配置 composer.json。
我尝试将该库作为我项目的依赖项。
首先我给composer.json写了以下字符串:
{
"require": {
"php": ">=5.4",
"myname/mylibname": "dev"
},
"repositories":[
{
"type": "hg",
"url" : "https://bitbucket.org/myname/mylibname"
}
]
}
在运行composer install 时出现错误:
[运行时异常]
无法克隆 https://bitbucket.org/myname/mylibname,无法从中读取包
abort:需要http授权
然后我将"type": "hg" 更改为"type": "vcs" 并得到另一个错误:
[Composer\Repository\InvalidRepositoryException]
在 https://***/mylibname 的任何分支或标签中找不到有效的 composer.json,无法从中加载包。
在额外阅读文档后,我在项目的 composer.json 中添加了对我的库的描述,它开始看起来像这样:
{
"require": {
"php": ">=5.4",
"myname/mylibname": "dev"
},
"repositories":[
{
"type": "vcs",
"url" : "https://bitbucket.org/myname/mylibname"
},
{
"type":"package",
"package":{
"name":"myname/mylibname",
"version": "dev",
"source":{
"type":"vcs",
"url":"https://bitbucket.org/myname/mylibname",
"reference":"dev"
}
}
}
]}
同样的错误发生了:
[Composer\Repository\InvalidRepositoryException]
在 https://***/mylibname 的任何分支或标签中找不到有效的 composer.json,无法从中加载包。
我删除了部分:
{
"type": "vcs",
"url" : "https://bitbucket.org/myname/mylibname"
},
得到一个错误:
[无效参数异常]
未知下载器类型:vcs。可用类型:git、svn、hg、perforce、zip、rar、tar、gzip、phar、file。
我把"type": "vcs"改回"type": "hg",composer.json长这样:
{
"require": {
"php": ">=5.4",
"myname/mylibname": "dev"
},
"repositories":[
{
"type":"package",
"package":{
"name":"myname/mylibname",
"version": "dev",
"source":{
"type":"hg",
"url":"https://bitbucket.org/myname/mylibname",
"reference":"dev"
}
}
}
]}
还有一个错误:
[运行时异常]
未能执行 hg clone 'https://***/mylibname' '/path/to/myproject' abort:需要http授权
除了composer.json之外,我的auth.json的结构是:
{
"http-basic": {
"bitbucket.org": {
"username": "myusername",
"password": "mypassword"
}
}
}
【问题讨论】:
标签: mercurial composer-php bitbucket private