它们之间的主要区别是:
rake gems:install
rake gems:unpack我有一个问题,它告诉我,我错过了这些宝石。我做了rake gems:install。然后,我认为我已经安装了宝石。但它又说了一遍,我错过了宝石。在我收集了一些宝石之后:解包。它解决了这个问题。为什么会这样呢?
####com@#.com [~/rails_apps/employee_tracker]# rake db:migrate(在/Home2/#com/rails_apps/employee_tracker中)缺少这些必需的gem: authlogic
acl9
您正在运行: ruby 1.8.7.174 at /usr/bin/ruby rubygems 1.3.7 at /home2/#com/.gem/ruby/1.8,/usr/lib64/ruby/gems/1.8
运行rake gems:install安装缺少的gem。
rake ~/rails_apps/employee_tracker# com@#.com :安装
(在/Home2/#com/rails_apps/employee_tracker中) gem install authlogic成功安装authlogic-2.1.6 1gem已安装authlogic-2.1.6的ri文档...正在安装authlogic-2.1.6...的RDoc文档gem install acl9 --源http://gemcutter.org已成功安装acl9-0.12.0 1gem已安装acl9-0.12.0的ri文档...正在安装acl9-0.12.0...的RDoc文档...
com@#.com ~/rails_apps/employee_tracker# rake :迁移
(在/Home2/#com/rails_apps/employee_tracker中)缺少这些必需的gem: authlogic
acl9
您正在运行: ruby 1.8.7.174 at /usr/bin/ruby rubygems 1.3.7 at /home2/#com/.gem/ruby/1.8,/usr/lib64/ruby/gems/1.8
运行rake gems:install安装缺少的gem。
rake ~/rails_apps/employee_tracker# com@#.com :解包
(在/Home2/#com/rails_apps/employee_tracker中) gem install authlogic成功安装authlogic-2.1.6 1gem已安装authlogic-2.1.6的ri文档...正在安装authlogic-2.1.6...的RDoc文档gem install acl9 --源http://gemcutter.org已成功安装acl9-0.12.0 1gem已安装acl9-0.12.0的ri文档...正在安装acl9-0.12.0...的RDoc文档...解包的gem:'/home2/#com/rails_apps/employee_tracker/vendor/gems/authlogic-2.1.6‘解包的gem:'/home2/#com/rails_apps/employee_tracker/vendor/gems/acl9-0.12.0’
发布于 2010-09-04 02:04:37
rake gems:install会做你所期望的事情。它调用rubygems.org并下载Gemfile/environment.rb.rb中指定的gem。
rake gems:unpack将Gemfile/environment.rb ment.rb中指定的gem内容解压到您的供应商/ gems文件夹中。
我相信你只是没有指定你的gem,只是试图使用它们,而不是通过Gemfile(Rails3)/environment.rb(Rails2.x)将它们添加到项目中。供应商/gems中的任何内容都是自动加载的,我认为这可以解释您所看到的内容。
你应该把你的
config.gem 'name_of_gem'在要添加的gem的environment.rb文件中。Rails3有一个名为Gemfile的文件,您可以在其中执行以下操作:
gem 'name_of_gem'我希望这能有所帮助。
https://stackoverflow.com/questions/3634377
复制相似问题