我的头衔可能无法准确反映我想要提出的问题,但这是我能想到的最好的。
我要做的是对库进行修改,并在项目中测试这些修改。所以我运行了RVM,一个名为project/
的项目文件夹,一个2.3.1的gemset,以及克隆到文件夹project/metasm/
中的库git。我有一个文件project/Gemfile
,其中包含以下行:
gem "metasm", :path => "metasm"
当我运行bundle install
时,我得到以下内容:
Using metasm 1.0.2 from source at `metasm`
Using bundler 1.13.6
Bundle complete! 1 Gemfile dependency, 2 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
很好,所以一切似乎都应该有效。真棒。我下到irb
并转到require
图书馆/宝石,但它对我来说似乎不太好。
2.3.1 :001 > require "metasm"
LoadError: cannot load such file -- metasm
from /home/chiggins/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/chiggins/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from (irb):1
from /home/chiggins/.rvm/rubies/ruby-2.3.1/bin/irb:11:in `<main>'
现在这就是我真正理解的东西。为什么我不能使用metasm
来自当前的位置,即使bundle install
正常工作呢?
这是我认为这会起作用的最好方式。我理想的做法是能够在我认为合适的情况下对metasm
库进行更改,并运行irb
或Ruby脚本来测试/验证我的更改。这是一个很好的方式,或者我应该采取另一种方式吗?
感谢您的帮助!
答案 0 :(得分:1)
您必须使用bundle exec irb
命令输入irb。
正如您所见here,bundle exec <command>
执行命令,使得Gemfile中指定的所有gem在Ruby程序中都可用。