我正在尝试设置捆绑器开发环境,并且已经完成了https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md的第一步(使用rake spec:deps
和rake spec
完成,但最后有两个待处理的作业http://fpaste.org/88485/13957673/raw/)
我不知道$ alias bundle='ruby -I/path/to/bundler/lib/path/to/bundler/bin/bundle'的lib或bin路径是什么。是打包器源代码目录中的lib和bin目录吗?
是的,这些应该是您克隆的Bundler git repo中bin
和lib
目录的路径。
dbundle
别名的想法是,您可以通过在另一个项目中运行dbundle
来轻松测试您对Bundler所做的更改。因为别名指向源代码的副本,所以您可以看到它的功能,而不必每次进行更改时都构建和安装Bundler gem。
完成rake spec
的第二步后,就可以安装gem build bundler.gemspec
和gem install --local bundler-1.6.0.rc2.gem
了。
这意味着当bundle本身是一个gem,并且在rake魔法之后,你需要安装这个git master版本的bundle gem。要检查您是否使用了主版本的bundler,在任何目录上运行bundle --version
, ti应该返回版本1.6.0的bundler。Rc2之类的
http://bundler.io/v1.5/man/bundle.1.html显示了bundle binary中可以使用的参数。
要测试这个bundle的主二进制文件,创建一个新的目录并执行bundle init
,在其中添加一些要安装的gem。例如:
# A sample Gemfile
source "https://rubygems.org"
gem "hello-world"
gem "gem-man"
and run `bundle install`.
now:
sindhu@leh ~/code/rsoc/bunch_of_gemfiles % bundle list
Gems included by the bundle:
* bundler (1.6.0.rc2)
* gem-man (0.3.0)
* hello-world (1.2.0)
sindhu@leh ~/code/rsoc/bunch_of_gemfiles % bundle check
The Gemfile's dependencies are satisfied
sindhu@leh ~/code/rsoc/bunch_of_gemfiles % bundle platform
Your platform is: x86_64-linux
Your app has gems that work on these platforms:
* ruby
Your Gemfile does not specify a Ruby version requirement.
基本上bundle就像吃豆人的宝石,但提供了一个精确的宝石子集在你想要的确切版本。使用它的唯一方法是在gems上使用它,也就是说:使用bundle的这个git master二进制文件来安装gems,测试一个应用的gemfile中的深度是否满足等等。