Ruby on Rails - rake install / unpack

时间:2010-09-03 09:11:58

标签: ruby-on-rails

之间的主要区别是:

rake gems:install
rake gems:unpack

我有一个问题,它告诉我,我错过了这些宝石。我做了rake宝石:安装。然后我以为我安装了宝石。但它再次说,我错过了宝石。在我做了rake gems之后:解压缩。它解决了这个问题。这是为什么?

####com@#.com [~/rails_apps/employee_tracker]# rake db:migrate

(在/ home2 /#com / rails_apps / employee_tracker中) 缺少这些必需的宝石:   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以安装缺少的宝石。

com @#。com [〜/ rails_apps / employee_tracker]#rake gems:install

(在/ home2 /#com / rails_apps / employee_tracker中) gem install authlogic 已成功安装authlogic-2.1.6 安装1个宝石 为authlogic-2.1.6安装ri文档... 为authlogic-2.1.6安装RDoc文档... gem install acl9 --source http://gemcutter.org 已成功安装acl9-0.12.0 安装1个宝石 安装acl9-0.12.0的ri文档... 安装acl9-0.12.0的RDoc文档...

com @#。com [〜/ rails_apps / employee_tracker]#rake db:migrate

(在/ home2 /#com / rails_apps / employee_tracker中) 缺少这些必需的宝石:   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以安装缺少的宝石。

com @#。com [〜/ rails_apps / employee_tracker] #rake gems:unpack

(在/ home2 /#com / rails_apps / employee_tracker中) gem install authlogic 已成功安装authlogic-2.1.6 安装1个宝石 为authlogic-2.1.6安装ri文档... 为authlogic-2.1.6安装RDoc文档... gem install acl9 --source http://gemcutter.org 已成功安装acl9-0.12.0 安装1个宝石 安装acl9-0.12.0的ri文档... 安装acl9-0.12.0的RDoc文档... 解压宝石:'/ home2 /#com/rails_apps/employee_tracker/vendor/gems/authlogic-2.1.6' 解包的宝石:'/ home2 /#com/rails_apps/employee_tracker/vendor/gems/acl9-0.12.0'

1 个答案:

答案 0 :(得分:2)

rake gems:安装会做你期望的。它调用rubygems.org并下载Gemfile / environment.rb中指定的gem。

rake gems:unpack将Gemfile / environment.rb中指定的gem的内容解压缩到vendor / gems文件夹中。

我相信你只是没有指定你的宝石,只是尝试使用它们而不通过Gemfile(Rails 3)/environment.rb(Rails 2.X)将它们添加到项目中。供应商/宝石中的任何东西都会自动加载,我认为这可以解释你所看到的内容。

你应该放

config.gem 'name_of_gem'

在您的environment.rb文件中,用于添加的gem。 Rails3有一个名为Gemfile的文件,你可以这样做:

gem 'name_of_gem'

我希望有所帮助。