我可以简单地将设计应用程序和lib(以及gem?)文件夹复制到我各自的项目文件夹中,让它们像我使用宝石一样工作吗?我想要这样做,这样我就可以真正看到所有的代码,可能会做一些自定义,还可以避免一些"找不到"我的IDE中的错误。
这是一个坏主意吗?如果这是可行的,我只需要删除gem并复制必要的文件,或者我需要"撤消"宝石所做的事情。这会不会随着更新而产生问题?
最后,当我的项目中没有所有代码时,究竟是如何设计工作的呢?当我离线时它可以工作,所以代码只存储在一些秘密的不可见文件中或者其他的东西?有些宝石需要互联网连接才能检索其功能,或者可以在项目中复制和使用任何宝石,而无需在宝石文件中声明它。
答案 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中设置路径。