2010-09-03 60 views
1

什麼之間的主要區別是:我有一個問題,它告訴我,我錯過了這些寶石Ruby on Rails的 - 耙安裝/解壓

rake gems:install 
rake gems:unpack 

。我做了耙寶石:安裝。然後我以爲我已經安裝了寶石。但它又說,我錯過了寶石。在我做耙寶石之後:解壓。它解決了這個問題。這是爲什麼?

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

(中/ HOME2 /#COM/rails_apps/employee_tracker) 缺少這些必要的寶石: authlogic
acl9

您正在運行: 紅寶石1.8.7.174位於/ usr /斌/ ruby ruby​​gems 1.3.7 at /home2/#com/.gem/ruby/1.8,/usr/lib64/ruby/gems/1.8

運行rake gems:install安裝缺失的寶石。

[email protected]#.com [〜/ rails_apps/employee_tracker]#耙寶石:安裝

(在/ HOME2 /#COM/rails_apps/employee_tracker) 寶石安裝authlogic 成功安裝authlogic-2.1.6 1顆寶石安裝 爲authlogic-2.1.6裏安裝的文件... 爲authlogic-2.1.6安裝RDoc文檔... 創業板安裝acl9 --source http://gemcutter.org 成功安裝acl9-0.12.0 1顆寶石安裝 安裝ri文檔acl9-0.12.0 ... 安裝用於acl9-0.12.0 RDoc文檔...

[email protected]#.com [〜/ rails_apps/employee_tracker]#耙分貝:遷移

(在/ HOME2 /#COM/rails_apps/employee_tracker) 缺少這些必要的寶石: authlogic
acl9

您正在運行: 紅寶石1.8.7.174位於/ usr /斌/紅寶石 RubyGems的1.3.7在/home2/#com/.gem/ruby/1.8, /usr/lib64/ruby/gems/1.8

運行rake gems:install安裝缺失的寶石。

[email protected]#.com [〜/ rails_apps/employee_tracker]#耙寶石:解包

(在/ HOME2 /#COM/rails_apps/employee_tracker) 寶石安裝authlogic 成功安裝authlogic-2.1.6 1顆寶石安裝 爲authlogic-2.1.6裏安裝的文件... 爲authlogic-2.1.6安裝RDoc文檔... 創業板安裝acl9 --source http://gemcutter.org 成功安裝acl9-0.12.0 1顆寶石安裝 安裝ri文檔acl9-0.12.0 ... 安裝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 /供應商/寶石/ acl9-0.12。0'

回答

2

耙寶石:安裝做你所期望的。它調用rubygems.org並下載Gemfile/environment.rb中指定的gems。

耙寶石:解壓解壓Gemfile/environment.rb中指定的寶石的內容到您的供應商/寶石文件夾。

我相信你只是沒有指定你的寶石,只是試圖通過Gemfile(Rails 3)/environment.rb(Rails 2.X)將它們添加到項目中來使用它們。供應商/寶石中的任何東西都會自動加載,我想這會解釋你所看到的。

你應該把

config.gem 'name_of_gem' 

在你的environment.rb文件中要添加的寶石。 Rails3中有一個名爲Gemfile中的文件,你做的事:

gem 'name_of_gem' 

我希望幫助。