凉亭注册本地git包
我怎样才能在凉亭注册一个本地的git包?
我目前的component.json如下
{ "name": "myproject", "version": "1.0.0", "dependencies": { "jquery": "1.8.0", "twitter/bootstrap": "2.1.1" } }
不过,我也想添加一个我在C:/mypackage
创build的包,它是一个标签版本的git仓库。 当我做bower install --save C:/mypackage
它正确地将其添加到项目,但它不会将其添加到我的component.json。
我正在尝试bower register mypackage C:/mypackage
但它一直给我
bower error Incorrect format
我究竟做错了什么?
scheme1:公共凉亭登记
鲍尔build立的主要目的是以“非主观的”方式分享公共(客户端)的代码。 那么主要的用例就是拥有一个可公开访问的存储库(在GitHub上),该存储库register
了一个名称和git存储库url。 我只是自己做了这个:
bower register linksoup git://github.com/automatonic/linksoup
这只是告诉bower服务器,当你install linksoup
去获取代码在git://github.com/automatonic/linksoup
存储库,并把它放在本地项目的component
目录。
如果这是你想要做的,那么只要在github / etc上build立一个仓库,把你的代码放到那里,然后register
所得到的仓库信息。
scheme2:私人依赖
有许多原因不要将您的代码发布到可公开访问的存储库中。 它可能不是开源的,如果你的mypackage
代码不是公开的,那么你可能不应该在公共服务器上register
它。此外,即使你可以register
一个本地目录,只能在你的机器上工作……这打破了通过凉亭共享代码的目的。
如果你只是想要pipe理一个本地的,私人的依赖,那么我将会摆脱傻瓜的解决scheme:
{ "name": "myproject", "version": "1.0.0", "dependencies": { "jquery": "1.8.0", "twitter/bootstrap": "2.1.1", "mypackage": "file:///path/to/mypackage/.git" } }
这只是说我的项目需要mypackage
,并使用git clone来检索它。 我的猜测是,这可以使用任何东西可以理解(包括本地存储库)。 但是你应该注意到,这可能会遇到问题的任何人在这个代码工作,无法访问您的本地path。
最佳的揣测
它看起来好像你可能假设了bower register
是一个本地操作(告诉凉亭如何通过某种本地registryfind依赖)。 据我所知,这只是一个远程和公共注册,这就是为什么这是不受支持的。
你也可能正在寻找一种方法来做一些像npm一样的链接操作 。 也就是说,在一个依赖模块上工作,而不需要你的开发周期包含一个发布。
关于有多less人参与以及你想要完成什么的一些细节将有助于更有针对性的回答。
你可以添加任何git仓库如下:
{ "name": "myproject", "version": "1.0.0", "dependencies": { "jquery": "1.8.0", "twitter/bootstrap": "2.1.1", "myrepo":"git://myrepo.com/myrepo" } }
您可以使用bower link
:
链接function允许开发人员轻松testing他们的软件包。 链接是一个两步的过程。
在项目文件夹中使用“bower链接”将创build一个全局链接。 然后,在其他一些软件包中,“bower link”将在组件文件夹中创build指向先前创build的链接的链接。
这可以很容易地testing一个包,因为变化会立即反映出来。 请注意,bower不会获取链接的软件包相关性。
Bower将在安装/更新时覆盖链接。
与bower
的大想法是轻松地分享您的项目的依赖关系。 所以使用本地回购应该限于testing 。
一旦你明白了这一点,你应该知道它并不是非常必要register
你的包来作为依赖。
这是由于这个事实,即依赖性可以指定一个版本 ,一个文件夹或一个包 。 所以你可以使用本地存储库 。
定义为凉亭包
首先,您需要将您的依赖关系定义为凉亭包 :
# create the bower package cd /path/to/you-need-me bower init # answer questions…
添加为项目依赖项
然后在你的主项目中,那个需要you-need-me
依赖的项目,编辑bower.json
文件来添加(或展开):
"dependencies": { … "you-need-me": "file:///path/to/you-need-me/.git/" "you-need-me-windows": "C:/path/to/you-need-me-windows/.git/" }
所以你不给一个版本,而是一个本地的git
端点,即子目录.git/
。
安装依赖关系
在man项目中安装bower依赖关系:
cd /path/to/main-project/ bower install
失败
bower you-need-me#* ENOTFOUND Package /path/to/you-need-me/ not found
再次检查您的path,并指向您的依赖项的.git/
目录。
成功
你应该得到像这样的东西:
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
写一个博客条目: 在注册包之前在本地testingbower.json 。