选项1:公共Bower注册
Bower主要用于以“非指导性”的方式共享公共(客户端)代码。因此,主要用例是拥有一个可以公开访问的存储库(在GitHub上),该存储库使用名称和git存储库URL进行注册。我刚刚自己完成了这个过程:
bower register linksoup git://github.com/automatonic/linksoup
这只是告诉 bower 服务器,当你 安装 linksoup
时,去获取位于 git://github.com/automatonic/linksoup
仓库中的代码,并将其放置在本地项目的component
目录中。
如果这正是你想要做的事情,那么只需在 github 等平台上创建一个仓库,将你的代码推送到仓库中,然后使用所得到的仓库信息进行注册
即可。
选项 2:私有依赖项
有很多理由不将你的代码发布在公共可访问的仓库中。它可能不是开源的等等。如果你的 mypackage
代码不打算公开,那么你可能不应该在公共 bower 服务器上进行注册
... 此外,即使你可以register
一个本地目录,它也只能在你的机器上工作...这违背了通过 bower 共享代码的初衷。
如果你只想让 bower 管理本地的私有依赖项,那么我会参考blockhead的解决方案:
{
"name": "myproject",
"version": "1.0.0",
"dependencies": {
"jquery": "1.8.0",
"twitter/bootstrap": "2.1.1",
"mypackage": "file:///path/to/mypackage/.git"
}
}
这句话的意思是,myproject
需要mypackage
,可以使用git clone来获取它。我猜测这里可以使用任何git能理解的方式(包括本地仓库)。但你需要注意,如果有其他人在此代码上工作时无法访问你的本地路径,可能会遇到问题。
最佳猜测
在我看来,你可能假设bower register
是一个本地操作(告诉bower如何通过某种本地注册表找到依赖项)。据我所知,这只是一种远程和公共的注册,这就是为什么不支持的原因。
你可能还在寻找一种类似于npm中的链接操作的方式。也就是说,在不始终发布的情况下处理依赖模块。
一些关于涉及的人数以及你尝试完成的任务的详细信息将有助于更有针对性地回答。
"file:////networkdomain.com/path/to/mypackage/.git"
(强调在file:
后面使用4个斜杠而不是3个)。 - bgoerdt