使用设计没有宝石,我可以简单地复制文件吗?

时间:2015-06-10 00:25:35

标签: ruby-on-rails ruby devise gem rubygems

我可以简单地将设计应用程序和lib(以及gem?)文件夹复制到我各自的项目文件夹中,让它们像我使用宝石一样工作吗?我想要这样做,这样我就可以真正看到所有的代码,可能会做一些自定义,还可以避免一些"找不到"我的IDE中的错误。

这是一个坏主意吗?如果这是可行的,我只需要删除gem并复制必要的文件,或者我需要"撤消"宝石所做的事情。这会不会随着更新而产生问题?

最后,当我的项目中没有所有代码时,究竟是如何设计工作的呢?当我离线时它可以工作,所以代码只存储在一些秘密的不可见文件中或者其他的东西?有些宝石需要互联网连接才能检索其功能,或者可以在项目中复制和使用任何宝石,而无需在宝石文件中声明它。

2 个答案:

答案 0 :(得分:2)

请参阅http://bundler.io/v1.5/git.html

Bundler还允许您在本地使用git存储库而不是使用远程版本。这可以通过设置本地覆盖来实现:

<span><a class="franchise_0001"></a></span>
<span><a class="franchise_0002"></a></span>
<span><a class="franchise_0003"></a></span>
<span><a class="franchise_0004"></a></span>
<span><a class="franchise_0005"></a></span>
<span><a class="franchise_0006"></a></span>
<span><a class="franchise_0007"></a></span>
<span><a class="franchise_0008"></a></span>
<span><a class="franchise_0009"></a></span>
<span><a class="franchise_0001"></a></span>
<span><a class="franchise_0001"></a></span>
<span><a class="franchise_0002"></a></span>

另外

http://ryanbigg.com/2013/08/bundler-local-paths/

Bundler有一个鲜为人知的功能,允许您在本地开发时使用本地Git存储库,在部署时使用远程Git存储库。此功能意味着您不再需要在本地路径之间不断切换:

bundle config local.GEM_NAME /path/to/local/git/repository

远程路径:

gem 'spree', :path => "~/Projects/gems/spree"

答案 1 :(得分:1)

这是否可行,简答:是的。这是一个坏主意吗?非也!实际上,代码不在您的项目中,但是当您安装gem时,其所有内容都将存储在本地计算机的某个位置。因此,一旦下载,您就不必在线使用它。好吧,虽然它并不常见(并且不推荐),但您可以将gem的存储库克隆到项目中,并在项目的Gemfile中设置路径。