导入和使用 ruby gem
Importing and working with a ruby gem
我的标题可能无法准确反映我想问的问题,但这是我能想到的最好的。
我想做的是对库进行修改,并在项目中测试这些修改。所以我有 RVM 运行ning,一个名为 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
和 library/gem,但它似乎对我来说效果不太好。
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 脚本到 [=40= 】 我的改动。这是解决问题的好方法还是我应该换一种方法?
感谢您的帮助!
您必须使用 bundle exec irb
命令输入 irb。
如您所见here,bundle exec <command>
执行命令使 Gemfile 中指定的所有 gem 可用于 Ruby 程序。
我的标题可能无法准确反映我想问的问题,但这是我能想到的最好的。
我想做的是对库进行修改,并在项目中测试这些修改。所以我有 RVM 运行ning,一个名为 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
和 library/gem,但它似乎对我来说效果不太好。
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 脚本到 [=40= 】 我的改动。这是解决问题的好方法还是我应该换一种方法?
感谢您的帮助!
您必须使用 bundle exec irb
命令输入 irb。
如您所见here,bundle exec <command>
执行命令使 Gemfile 中指定的所有 gem 可用于 Ruby 程序。