62 votes

bower enregistre le paquet git local

Comment puis-je enregistrer un paquet Git local dans Bower?

Mon composant.json actuel est le suivant

 {
  "name": "myproject",
  "version": "1.0.0",
  "dependencies": {
    "jquery": "1.8.0",
    "twitter/bootstrap": "2.1.1"
  }
}
 

Cependant, je voudrais aussi ajouter un paquet que j'ai créé à C:/mypackage qui est un référentiel git avec les versions marquées. Quand je le fais bower install --save C:/mypackage il l’ajoute correctement au projet mais ne l’ajoute pas à mon composant.json.

J'essaie bower register mypackage C:/mypackage mais ça continue à me donner

 bower error Incorrect format
 

Qu'est-ce que je fais mal?

71voto

automatonic Points 2830

Option 1: Public Bower enregistrement

Bower est construit principalement à l'action publique (côté client) de code dans un "non-opinions" de manière. Le cas d'utilisation principal, ensuite, est d'avoir des archives accessibles au public (sur GitHub) c'est - registerd avec un nom et un dépôt git url. Je viens de le faire moi-même:

bower register linksoup git://github.com/automatonic/linksoup

C'est juste dire la charmille serveur que lorsque vous install linksoup d'aller et de saisir le code à l' git://github.com/automatonic/linksoup référentiel, et de le mettre dans le projet local de l' component répertoire.

Si c'est ce que vous voulez faire, puis il suffit de mettre en place un dépôt sur github/etc., poussez votre code, puis d' register avec la logithèque d'infos.

Option 2: Privé de la dépendance

Il y a beaucoup de raisons de ne pas poster votre code à des archives accessibles au public. Il peut ne pas être open source, etc. si votre mypackage code n'est pas destiné à être public, alors vous ne devriez probablement pas être registering sur le public bower serveur... de Plus, même si vous pourriez register un répertoire local, il ne serait que de travailler sur votre machine...ce qui est contraire au but de partager le code via la charmille.

Si vous voulez juste avoir bower gérer un local, privé de la dépendance, alors que je vais riff off de navets de la solution:

{
  "name": "myproject",
  "version": "1.0.0",
  "dependencies": {
    "jquery": "1.8.0",
    "twitter/bootstrap": "2.1.1",
    "mypackage": "file:///path/to/mypackage/.git"
  }
}

C'est juste dire qu' myproject besoins mypackage, et à l'utilisation de git clone pour le récupérer. Ma conjecture est que cela peut se servir de quelque chose git peut comprendre (y compris les dépôts). Mais vous devriez noter que les ce peuvent rencontrer des problèmes pour quelqu'un d'autre travaille sur ce code qui ne peuvent pas accéder à votre chemin d'accès local.

Meilleure Supposition

Il me semble que vous avez peut-être cru que bower register a été une opération locale (le fait de dire bower comment trouver une dépendance par une sorte de registre local). Aussi loin que je peux dire, ce est seulement à distance et l'enregistrement public, c'est pourquoi ce n'est pas pris en charge.

Vous pouvez aussi être à la recherche d'un moyen de faire quelque chose comme une opération du lien avec les mnp. C'est, le travail sur une dépendance du module sans toujours avoir votre dev cycle de la publication.

Un peu de détail sur la façon dont beaucoup de gens sont impliqués et ce que vous essayez d'accomplir serait de faciliter une réponse ciblée.

53voto

blockhead Points 4654

Vous pouvez ajouter n'importe quel référentiel git comme suit:

 {
  "name": "myproject",
  "version": "1.0.0",
  "dependencies": {
    "jquery": "1.8.0",
    "twitter/bootstrap": "2.1.1",
    "myrepo":"git://myrepo.com/myrepo"
  }
}
 

33voto

JohnS Points 3434

Vous pouvez utiliser bower link:

Le lien fonctionnalité permet aux développeurs de tester facilement leurs forfaits. La liaison est un processus en deux étapes.

L'utilisation de 'bower lien" dans un dossier de projet permettra de créer un global link. Puis, dans un autre paquet, 'bower lien" permet de créer un lien dans le dossier composants pointant vers le lien.

Cela permet de tester facilement un paquet parce que les changements seront pris en compte immédiatement. Veuillez noter que bower ne récupérera pas liés les dépendances de package.

Bower va remplacer le lien lors de l'installation/la mise à jour.

23voto

Édouard Lopez Points 2762

La grande idée avec bower est de partager facilement vos projets de dépendances. Donc, en utilisant les pensions devraient être limitées à des tests.

Une fois que vous comprenez cela, vous devriez savoir qu'il n'est pas strictement nécessaire à l' register de votre colis afin de l'utiliser comme une dépendance.

Cela est dû au fait que bower des dépendances peut spécifier une version, un dossier ou un package. Donc, vous pouvez utiliser le référentiel local.

Définir comme bower paquet

D'abord, vous devrez définir votre dépendance comme une charmille paquet:

# create the bower package
cd /path/to/you-need-me
bower init
# answer questions…

Ajouter en tant que dépendance de projet

Puis dans votre projet principal, celui qui a besoin de l' you-need-me de dépendance, d'éditer bower.json le fichier à ajouter (ou développez):

  "dependencies": {
    …
    "you-need-me":  "file:///path/to/you-need-me/.git/"
    "you-need-me-windows":  "C:/path/to/you-need-me-windows/.git/"
  }

Si vous ne donnez pas une version, mais un local git d'extrémité, c'est à dire le sous-répertoire .git/.

Installer la dépendance

Dans le projet homme installer bower dépendances avec:

cd /path/to/main-project/
bower install

L'échec

bower you-need-me#*              ENOTFOUND Package /path/to/you-need-me/ not found

Vérifiez à nouveau votre chemin et que vous pointez à l' .git/ répertoire de votre dépendance.

Succès

Vous devriez obtenir quelque chose comme:

bower you-need-me#*             not-cached file:///path/to/you-need-me/.git/#*
bower you-need-me#*                resolve file:///path/to/you-need-me/.git/#*
bower you-need-me#*               checkout master
bower you-need-me#*               resolved file:///path/to/you-need-me/.git/#b18c753c6f
bower you-need-me#*                install you-need-me#b18c753c6f

Écrire une entrée de blog à ce sujet: Test de verdure.json localement avant de vous inscrire paquet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X