【问题标题】:Detect bundling origin in Gemfile在 Gemfile 中检测捆绑来源
【发布时间】:2014-01-07 13:22:21
【问题描述】:

我正在尝试尽可能多地使用 RubyMine,而 RubyMine 有时会要求我自己不会使用任何宝石(RubyMine 会)。

是否可以在 Gemfile 中检测到我是从 RubyMine 捆绑的?或者一般来说:是否可以检测到我捆绑的工具(终端、iTerm、RubyMine、TeamCity)?

我知道有特定的红宝石平台作为宝石的条件。我正在寻找放入我的 Gemfile 的内容是这样的:

tool :rubymine do
  gem 'minitest-reporters'
  gem 'ruby-debug'
end

结果当我从 FOR Example RubyMine 运行捆绑时,我会安装 minitest-reporters 和 ruby​​-debug,但是我从终端捆绑的同事不会安装这些 gem。

【问题讨论】:

  • 对不起,我完全不明白你的问题。你到底想达到什么目标?
  • 这个问题很难理解。在使用完全自动化一切并让您更难理解它在做什么的 IDE 之前,您可能想多学习一点 Ruby?此外,请记住您编写的是 Gemfile,而不是 RubyMine。所以你应该知道你使用的是什么宝石。
  • phoet: simone: 我不想只在需要时才安装 gem。换句话说,不使用 RubyMine 的同事不会安装 gems,因为他对它们没有用处
  • simone:我知道我正在编写 Gemfile。 RubyMine 只是一个例子。我的问题中还有另一个例子;)
  • 我在问题中添加了对我的期望的扩展描述,希望它能帮助大家理解我的问题

标签: ruby bundler rubymine gemfile


【解决方案1】:

一般来说,这个问题的答案是使用gem install 安装额外的gem,而不是将它们放在Gemfile 中。

如果 RubyMine 依赖 Bundler 能够在运行时找到这些 gem,我会说这是一个错误。

【讨论】:

    【解决方案2】:

    好的,我找到了一些方法来告诉你,你是从 RubyMine 内部运行的

    (将其放入您的 Gemfile 中进行测试)

    puts [
            ORIGINAL_ENV['OLDPWD'],
            ORIGINAL_ENV['RM_INFO'],
            ORIGINAL_ENV['RUBYLIB'],
            ORIGINAL_ENV['RUBYMINE_TESTUNIT_REPORTER'],
            ORIGINAL_ENV['TEAMCITY_RAKE_RUNNER_MODE'],
            ORIGINAL_ENV['TEAMCITY_RAKE_RUNNER_USED_FRAMEWORKS'],
            ORIGINAL_ENV['XPC_SERVICE_NAME']
    ]
    

    因此,例如,只有在真正需要时,我才能为 RubyMine 安装 gems

    group :development do
      # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
      gem 'web-console'
      gem 'listen', '~> 3.0.5'
      # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
      gem 'spring'
      gem 'spring-watcher-listen', '~> 2.0.0'
    
      if ORIGINAL_ENV && ORIGINAL_ENV['TEAMCITY_RAKE_RUNNER_MODE']
        gem 'debase'
      end
    end
    

    唯一不好的是,这将改变 Gemfile.lock

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-07
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多