use*_*923 7 ruby gem load-path
我将一些ruby代码打包到gem中.我想在其他一些代码中引用gem中的代码.所以在Gemfile中我指定了gem的名称,版本和本地路径.喜欢:
gem 'gemname','0.x', :path => 'RELATIVE_PATH_TO_GEM_FILE'
Run Code Online (Sandbox Code Playgroud)
捆绑安装后,我明白了
Using gemname (0.x) from source at RELATIVE_PATH_TO_GEM_FILE
Run Code Online (Sandbox Code Playgroud)
但是当我运行代码时,它无法在gem中找到代码.LOAD_PATH显示ABSOLUTE_PATH_TO_GEM_FILE/lib.
难怪它找不到代码,只有ABSOLUTE_PATH_TO_GEM_FILE下的gem文件.它没有打开包装.所以没有lib目录.
如果我宝石将这个宝石文件安装到我的系统中,那么一切正常.我可以看到gem文件被解压缩到源代码文件中.但我的问题是它是否可以直接引用本地gem文件?
不,您不能.gem直接引用文件.
在您的术语中,您需要使用"未打包"的宝石.
:path => '/foo/bar/'
Run Code Online (Sandbox Code Playgroud)
哪里/foo/bar/是(gem)目录lib/,等等.
| 归档时间: |
|
| 查看次数: |
7258 次 |
| 最近记录: |