如何运行在替代路径上安装的ruby软件包?

时间:2019-11-05 23:53:32

标签: ruby macos macos-mojave

我想构建并尝试这个github项目https://github.com/cmedley/terraforming

我已经通过在github存储库中运行gem脚本,将软件包(或setup?道歉,我不熟悉正确的Ruby术语)安装到另一个位置:

./script/setup --path ../bin

我可以看到主脚本terraforming已安装在bin下。在这种情况下,路径为bin/ruby/2.3.0/bin/terraforming

但是,当我运行它时,出现此错误:

  

/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems.rb:241:in   bin_path': can't find gem terraforming (>= 0.a) (Gem::GemNotFoundException) from ../bin/ruby/2.3.0/bin/terraforming:22:in'

从备用安装位置调用此terraforming脚本的正确方法是什么。

2 个答案:

答案 0 :(得分:3)

您可能仍然需要gem install terraforming来安装gem。

script/setup仅安装依赖项-您可以在its code中看到它仅运行bundle install,这会将宝石安装在随附的gemfile中。该gemfile不包含terraforming gem本身,因为它希望您独立执行此操作。

答案 1 :(得分:2)

您使用哪种应用程序?铁轨?锡纳特拉?它有gemfile吗?如果是这样,您应该能够显式设置gem的路径:

gem 'terraforming', path: '/bin/ruby/2.3.0/bin/terraforming'

对于命令行实用程序,您需要使用$LOAD_PATH包含gem的路径。您可以阅读Ruby docs about requiring code或在StackOverflow上找到其他可能有用的答案,例如this onethis one