My project uses my own library which is in the private Mercurial repository placed on bitbucket.org. That library has no composer.json configured.
I try to make that library as a dependency to my project.
Firstly I wrote to composer.json the following strings:
{
"require": {
"php": ">=5.4",
"myname/mylibname": "dev"
},
"repositories":[
{
"type": "hg",
"url" : "https://bitbucket.org/myname/mylibname"
}
]
}
And running composer install
I've got an error:
[RuntimeException]
Failed to clone https://bitbucket.org/myname/mylibname, could not read packages from it
abort: http authorization required
Than I changed "type": "hg"
to "type": "vcs"
and got another error:
[Composer\Repository\InvalidRepositoryException]
No valid composer.json was found in any branch or tag of https:/***/mylibname, could not load a package from it.
After additional reading of documentation I added description of my library to the composer.json of my project, and it began to look so:
{
"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"
}
}
}
]}
The same error occured:
[Composer\Repository\InvalidRepositoryException]
No valid composer.json was found in any branch or tag of https:/***/mylibname, could not load a package from it.
I removed the part:
{
"type": "vcs",
"url" : "https://bitbucket.org/myname/mylibname"
},
and got an error:
[InvalidArgumentException]
Unknown downloader type: vcs. Available types: git, svn, hg, perforce, zip, rar, tar, gzip, phar, file.
I changed "type": "vcs"
back to "type": "hg"
, composer.json looks like:
{
"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"
}
}
}
]}
and an error:
[RuntimeException]
Failed to execute hg clone 'https:/***/mylibname' '/path/to/myproject' abort: http authorization required
The structure of my auth.json, which lies besides of composer.json is:
{
"http-basic": {
"bitbucket.org": {
"username": "myusername",
"password": "mypassword"
}
}
}