gpt4 book ai didi

ruby-on-rails - 使用RVM Gemsets,Bundler和RubyMine

转载 作者:行者123 更新时间:2023-12-04 13:51:16 31 4
gpt4 key购买 nike

我使用RVM来管理Ruby版本。
在我的项目中,我使用Bundler管理该项目的gem。

RVM也有 gem 集。
gem 中的 gem 与Bundler的 gem 没有任何关系。 ←这是正确的吗?
我得出这个结论是因为gem文件存储在不同的位置:
RVM gemset:~/.rvm/gems/ruby-2.0.0-p247@myApp捆绑器:[my_app_dir]/vendor/bundle/gems因此,应用使用Bundler gem ,而不是RVM gem 集 gem 。

但是,当我将 gem 添加到我的Gemfile中时,RubyMine IDE会警告我,该 gem 不在RVM gem 集中。因此,我还将这个gem也添加到RVM gemset中(只是为了摆脱此警告)。

因此,问题是:

  • 是否有充分的理由在这两个地方(RVM Gemset和Gemfile)添加gem?
  • 如果不是,那么RubyMine为什么要警告我呢?
  • 最佳答案

    1. Is there any good reason to add gems in both places (RVM Gemset and Gemfile)?


    gemset是偶然的,Gemfile绝对是声明依赖项的地方。这些 gem 的存储位置由您决定。

    听起来好像Bundler已配置为将它们存储在项目本地路径中,但是您期望它们位于gemset中。 Bundler通过在某个时候运行 bundle install --path vendor/bundle/gems来获得该配置。它将配置存储在项目配置文件中的 project_dir/.bundle/config处:
    BUNDLE_PATH: vendor/bundle/gems

    我不熟悉Rubymine,但是如果您使用Bundler(即 bundle exec rails server)运行Rails服务器,则可以忽略该警告。 Bundler将正确加载Gemfile中列出的 gem 。

    如果要使用gemset而不是Bundler缓存,则只需从Bundler配置文件中删除该行,然后使用 bundle install重新安装gem。

    1. If no, then why RubyMine warning me about this?


    我的猜测是Rubymine不会读取Bundler项目配置(在 project_path/.bundle/config中),并且无法理解gem的安装位置。

    关于ruby-on-rails - 使用RVM Gemsets,Bundler和RubyMine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17909256/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com