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

ruby – Gemfile – 将生产宝石与开发宝石分开

发布时间:2020-12-17 03:54:28 所属栏目:百科 来源:网络整理
导读:所以我知道在Gemfile中我可以这样做: group :development,:test do gem 'gem1' gem 'gem2'end 我想要完成的是这样的事情: group :production do gem 'gem1' gem 'gem2'endgroup :development,:test do gem 'gem1',:path = '/Documents/Code/gem1/' gem 'ge
所以我知道在Gemfile中我可以这样做:

group :development,:test do
  gem 'gem1'
  gem 'gem2'
end

我想要完成的是这样的事情:

group :production do
  gem 'gem1'
  gem 'gem2'
end

group :development,:test do
  gem 'gem1',:path => '/Documents/Code/gem1/'
  gem 'gem2',:path => '/Documents/Code/gem2/'
end

所以我们的应用程序使用了我们也在本地开发的2个宝石.为了在我们的本地机器上进行开发时缩短时间,我们希望能够将我们的开发环境指向宝石的本地副本 – 这样它就可以在不需要重新启动rails服务器的情况下获取所有更改.否则我们将不得不重建gem,重新安装gem,并在gem中的每次开发更改时重新启动rails.

但是,这样做会给我带来以下错误:

You cannot specify the same gem twice coming from different sources. You specified that gem1 (>= 0) should come from an unspecfied source and source at /Documents/Code/gem1

我甚至试过运行像bundle install这样的东西 – 没有生产,我得到了同样的错误.

有谁知道我是否有可能做我想做的事情?

谢谢!

解决方法

我认为有一种支持的方式来做它和一些黑客来解决它.

支持方式:

使用bundle config和local选项,如下所述:http://bundler.io/v1.3/man/bundle-config.1.html

hacky方式:

在生产中使用之前使用env vars并执行bundler:http://www.cowboycoded.com/2010/08/10/using-2-sources-for-a-gem-in-different-environments-with-bundler/

github上存在针对此问题的功能请求,其中包含几个相关问题和大量注释:https://github.com/carlhuda/bundler/issues/396

(编辑:李大同)

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

    推荐文章
      热点阅读