我分叉了一个我经常使用的宝石,以便为它编写一些增强功能。我希望它安装在一个名为〜/ codebase / ruby的子文件夹中,我将所有的Ruby项目保存在子目录中。
为此,我使用以下命令构建并安装了gem:
gem build my_gem.gemspec
gem install mygem-x.x.gem -i./mygem
mygem
已安装在~/codebase/ruby/mygem
中。我无法获取我的客户端代码(位于另一个目录中)从那里抓取mygem
。
我已经尝试了以下所有方法但没有成功:
-I<path_to_mygem>.
<path_to_mygem>
添加到PATH
。:gempath: <path_to_mygem>
放入~/.gemrc
。我知道我可以将gem放在~/.gem/ruby/<version>
中(因为它出现在gem env
中)并且可能会有效,但这会破坏我现有的Ruby代码目录结构,迫使我编写代码仅适用于mygem
的不同目录,这是我想要避免的,除非它是唯一的选项。
思想?
答案 0 :(得分:0)
希望您使用Bundler加载所需的宝石。然后,您只需在Gemfile
中指定gem文件的路径:
gem 'my_gem', :path => '~/codebase/ruby/mygem'