我正在尝试设置bundler dev env,并且已经完成了https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md的第一步(完成了rake spec:deps
和rake spec
,但最后有两个挂件作业{{3} })
我不知道lib或bin路径可以用于$ alias dbundle =' ruby -I / path / to / bundler / lib / path / to / bundler / bin / bundle&#39 ;。它是bundler源代码目录中的lib和bin目录吗?
答案 0 :(得分:0)
完成rake spec
的第二步后,您将使用gem build bundler.gemspec
和gem install --local bundler-1.6.0.rc2.gem
进行安装。
这意味着当bundler本身是一个gem并且在rake魔法之后,你需要安装这个git master版本的bundler gem。要检查您是否使用了捆绑器的主版本,请在任何目录上运行bundle --version
,ti应该返回Bundler版本1.6.0.rc2或类似的东西。
http://bundler.io/v1.5/man/bundle.1.html显示了您可以在bundle binary上使用的args。
要测试捆绑的这个主二进制文件,创建一个新的目录并执行bundle init
,添加一些安装的宝石。例如:
# 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.
基本上捆绑就像pacman一样,但是在你想要的确切版本中提供了精确的宝石子集。使用它的唯一方法是使用它将在gems上使用它,也就是说:使用bundle的git master二进制文件来安装gem,测试app中某个gem文件中的deps是否满足等等。
答案 1 :(得分:0)
是的,这些应该是克隆的Bundler git repo中bin
和lib
目录的路径。
dbundle
别名的想法是,您可以通过在另一个项目中运行dbundle
来轻松测试您对Bundler所做的更改。因为别名指向源代码的副本,所以无需在每次进行更改时都构建和安装Bundler gem,就可以看到它的作用。