La configuration de compositeur.json avec salle de Bitbucket dépôt Mercurial
Mon projet utilise ma propre bibliothèque qui est dans le privé, dépôt Mercurial placé sur bitbucket.org. Cette bibliothèque n'a pas d'compositeur.json configuré.
J'ai essayer de faire que de la bibliothèque en tant que dépendance à mon projet.
Tout d'abord, j'ai écrit pour le compositeur.json les chaînes de caractères suivantes:
{
"require": {
"php": ">=5.4",
"myname/mylibname": "dev"
},
"repositories":[
{
"type": "hg",
"url" : "https://bitbucket.org/myname/mylibname"
}
]
}
Et en cours d'exécution composer install
j'ai une erreur:
[RuntimeException]
Pas réussi à cloner https://bitbucket.org/myname/mylibname, ne pouvait pas lire des paquets de cette
abandonner: http autorisation requise
Que j'ai changé "type": "hg"
à "type": "vcs"
et a obtenu une autre erreur:
[Compositeur\Repository\InvalidRepositoryException]
Aucun compositeur.json a été trouvé dans n'importe quelle branche ou une étiquette de https:/***/mylibname, n'a pas pu charger un package à partir d'elle.
Supplémentaires après la lecture de la documentation, j'ai ajouté de description de ma bibliothèque pour le compositeur.json de mon projet, et il a commencé à regarder de la sorte:
{
"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"
}
}
}
]}
La même erreur s'est produite:
[Compositeur\Repository\InvalidRepositoryException]
Aucun compositeur.json a été trouvé dans n'importe quelle branche ou une étiquette de https:/***/mylibname, n'a pas pu charger un package à partir d'elle.
J'ai enlevé la partie:
{
"type": "vcs",
"url" : "https://bitbucket.org/myname/mylibname"
},
et ai une erreur:
[InvalidArgumentException]
Inconnu downloader type: vcs. Types disponibles: git, svn, hg, perforce, zip, rar, tar, gzip, phar, fichier.
J'ai changé "type": "vcs"
retour à "type": "hg"
, compositeur.json ressemble:
{
"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"
}
}
}
]}
et un message d'erreur:
[RuntimeException]
Échec de l'exécution de la commande hg clone "https:/***/mylibname' '/chemin/vers/myproject'
abandonner: http autorisation requise
De la structure de mon auth.json, qui se trouve en dehors de compositeur.json est:
{
"http-basic": {
"bitbucket.org": {
"username": "myusername",
"password": "mypassword"
}
}
}
OriginalL'auteur Roman | 2015-02-20
Vous devez vous connecter pour publier un commentaire.
Semble
bitbucket-oauth
méthode est buggé dans l'état actuel de 1.1 du compositeur. Cela signifie que vous devez disposer de la configuration de la clé SSH sur le client ou, si vous êtes comme moi et ne peux pas les clés d'installation en raison de déploiement d'un serveur, vous devez utiliser l'authentification basique.Le seul moyen que j'ai obtenu ce travail était:
~/.compositeur/auth.json
compositeur.json
OriginalL'auteur Petter Kjelkenes
Juste enlever https://. Fonctionne pour moi 🙂
OriginalL'auteur Oleg Patrushev
Que n'a pas assez de travail pour moi, mais il m'a fait dans la bonne direction. Assurez-vous d'obtenir votre clé SSH installé accéder via git@.
OriginalL'auteur Austin Passy
Compositeur de la version 1.2.0 avoir trié ce avec bitbucket oauth, c'est une bien meilleure méthode que ssh-clés si plusieurs développeurs travaillent sur un projet que l'auth.json peut rester dans le référentiel du projet (si c'est le privé) et ne doit être setup une fois.
auth.json
compositeur.json
OriginalL'auteur Phil Cook
Un commentaire sur ma fin.
J'ai testé les scénarios ci-dessus j'ai rencontré sur le compositeur suggestion que le dépôt doit avoir au moins une version stable.
https://getcomposer.org/doc/04-schema.md#minimum-stability
Pour cette raison, j'ai utilisé "dev" TAG avec SSH connexion et ça fonctionne.
OriginalL'auteur Tomasz Czechowski