我将一些 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/