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

我可以简单地将设计应用程序和lib(以及gem?)文件夹复制到我各自的项目文件夹中,让它们像我使用gem一样工作吗? 我想这样做,以便我可以真正看到所有代码,可能做一些自定义,并避免在我的IDE中出现一些“无法找到”的错误。

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

最后, 当我没有项目中的所有代码时究竟是如何设计的? 它在我离线时有效,所以代码只是存储在一些秘密的隐形文件中吗? 有些gem需要互联网连接来检索它们的function,或者只是在项目中复制和使用任何gem而不在gem文件中声明它。

见http://bundler.io/v1.5/git.html

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

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

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

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

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

和远程路径:

 gem 'spree', :github => 'spree/spree', :branch => 'master' 

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