加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用RVM Gemsets&Bundler和RubyMine

发布时间:2020-12-16 23:18:13 所属栏目:百科 来源:网络整理
导读:我使用RVM来管理 Ruby版本. 在我的项目中,我使用Bundler来管理项目的宝石. RVM也有gemsets. gemset中的Gem与Bundler的gem没有关联. ←这是对的吗? 我得出了这个结论,因为宝石文件存储在不同的位置: RVM gemset:?/ .rvm / gems / ruby??-2.0.0-p247 @ myAp
我使用RVM来管理 Ruby版本.
在我的项目中,我使用Bundler来管理项目的宝石.

RVM也有gemsets.
gemset中的Gem与Bundler的gem没有关联. ←这是对的吗?
我得出了这个结论,因为宝石文件存储在不同的位置:
RVM gemset:?/ .rvm / gems / ruby??-2.0.0-p247 @ myApp
Bundler:[my_app_dir] / vendor / bundle / gems
所以应用程序使用Bundler宝石,而不是RVM gemset宝石.

但是当我向我的Gemfile添加gem时,RubyMine IDE向我显示警告,这个gem不在RVM gemset中.所以我也将这个gem添加到RVM gemset(只是为了摆脱这个警告).

所以问题是:

>有没有什么好的理由在两个地方添加宝石(RVM Gemset和Gemfile)?
>如果没有,那么为什么RubyMine警告我这个?

解决方法

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

gemset是偶然的,Gemfile绝对是声明依赖项的地方.存储这些宝石的地方取决于您.

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

BUNDLE_PATH: vendor/bundle/gems

我不熟悉Rubymine,但是如果你使用Bundler运行Rails服务器(即捆绑exec 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中)并且不了解gems的安装位置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读