在Ruby on Rails中,将vendor / gems / somegem从一个项目复制到另一个项目与冻结gem一样吗?
我被告知要复制
vendor/gems/somegem
从proj1到proj2的文件夹将基本上将gem冻结到项目中。 gem somegem
是一个内部gem,因此没有可以安装它的存储库。 但我想知道如何使用Rails 3,因为我们需要使用它
gem 'somegem'
在Gemfile中,据说当我们做一个gem list
, gem list
的名字应该显示出来。 这样做的好/正确方法是什么? 谢谢。
我相信Gemfile.lock
文件存储正在使用的gem的版本,以及任何和所有依赖项,因此您可以基本上复制Gemfile
和Gemfile.lock
并运行bundle install
在Gemfile中,您可以告诉bundler从本地路径获取gem:
gem 'somegem', :path => "some_path/to/somegem"
如果您的’gem’实际上是一个插件,那么只需将文件复制到vendor/plugins
。
如果插件目录中的install.rb执行任何特殊操作,您可能需要手动运行它。