ruby - 如何引用 ruby 中的本地 gem ?

标签 ruby gem load-path

我将一些 ruby​​ 代码打包到一个 gem 中。我想在其他代码中引用 gem 中的代码。 因此,在 Gemfile 中,我指定了 gem 的名称、版本和本地路径。喜欢:

gem 'gemname','0.x', :path => 'RELATIVE_PATH_TO_GEM_FILE'

捆绑安装后,我看到了

Using gemname (0.x) from source at RELATIVE_PATH_TO_GEM_FILE

但是当我运行代码时,它无法在 gem 中找到代码。 LOAD_PATH 显示 ABSOLUTE_PATH_TO_GEM_FILE/lib。

难怪找不到代码,ABSOLUTE_PATH_TO_GEM_FILE下只有gem文件。它没有打开包装。所以没有lib目录。

如果我将 gem 文件安装到我的系统中,那么一切正常。我可以看到 gem 文件被解压到源代码文件中。 但我的问题是它是否可以以某种方式直接引用本地 gem 文件?

最佳答案

不,您不能直接引用 .gem 文件。

在您的术语中,您需要使用“未打包”的 gem。

:path => '/foo/bar/'

其中 /foo/bar/ 是一个包含 lib/ 等的(gem)目录

关于ruby - 如何引用 ruby 中的本地 gem ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6444827/

相关文章:

ruby - 如何使用 mkmf.log 提示找不到 libiconv 安装 Nokogiri Ruby gem?

ruby - 如何将 gem 配置为只使用系统 gem?

ruby-on-rails - rails : NoMethodError on creating has_one association with devise model

ruby - Nokogiri + ERB 标签未排序

ruby - 是否可以在安装 gem 后生成 Rdoc?

ruby - 如何避免来自 RubyGems 的弃用消息?

ruby-on-rails - 连接被拒绝 - 连接(2)用于 "localhost"端口 25 rails

ruby - jekyll - 插件支持 - 它是如何工作的?

ruby - 使用和不使用 Rails 的快速 (Rspec) 测试

ruby - ruby 中的 "$:"是什么?