我正在编写一个dev命令行工具gem(我想称之为“工具”),我想在系统的任何地方使用它。我将RVM用于不同的项目,但是这个工具应该可以从这些项目的命令行中获得。
如果我只是使用“gem install”全局安装gem(假设它安装到/ usr / local / bin / tool),那么可执行文件当然可以在其他项目中使用,但是因为gemset在执行时发生了变化“工具“它失败说它无法找到”工具“宝石(因为”工具“从未安装到该宝石集)。我不想将gem添加到所有项目的所有Gemfiles中。
处理此问题的最佳方法是什么?也许有一种方法可以在安装时“锁定”可执行文件中的gem_path / gem_home?
答案 0 :(得分:0)
事实证明https://github.com/sportngin/brew-gem做了我想做的事,通过brew安装Rubygems gem并将其GEM_HOME和GEM_PATH锁定在它生成的bin包装器中,这样即使在不同RVM的上下文中执行它们也能正常工作宝石。
我把它分成https://github.com/gtmax/brew-gem,添加了对从local.gem文件或github上的gem项目安装brew gem的支持。