【问题标题】:Rails Metaprogramming: where is this gem installed?Rails 元编程:这个 gem 安装在哪里?
【发布时间】:2017-07-02 11:42:44
【问题描述】:

快速元编程问题。在我的 rails 5 项目中,我想在代码中找到某个 gem 的安装位置(即不是命令行)。

我从Bundler.install_path 开始。

往下看,我看到了我为这个 ruby​​ 安装的各种 gem 的所有版本(我使用 rbenv,但这也适用于 rvm)。

/home/user/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/mygem-7eafb06c791d/ /home/user/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/mygem-3da2bf38d01a/

...and so on

有没有办法告诉 Bundler “你能告诉我 gem mygem 的安装目录吗?或者如果有一个 gem 名称的散列及其目录(或类似的东西),那也很好。

奖励:如果有关于 bundler 内部工作原理的指南,那也很酷:)

【问题讨论】:

    标签: ruby-on-rails metaprogramming bundler


    【解决方案1】:

    Bundler 有 show 命令来显示 gem 的位置:

    bundle show mygem

    【讨论】:

    • 谢谢!我正在使用基于这个答案的 Bundler 源代码来获得我需要的东西。 :>
    【解决方案2】:

    rbenv-bundler 是使 rbenv shims Bundler 感知的插件,因此您不必在每个命令前键入 bundler exec。 您可以通过在 ~/.bundle/config (mac / linux) 中创建一个配置文件来管理捆绑器的设置

    BUNDLE_PATH: ~/vendor/some_path
    

    如果您需要有关配置捆绑器的更多信息,可以查看this bundler.io link

    【讨论】:

      猜你喜欢
      • 2011-11-04
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多