2015-03-25 59 views
1

add_runtime_dependency,add_dependencyadd_development_dependency有關的人員是「寶石規格」,我試圖理解他們。他們如何工作以及如何區分他們。如何通過gemspec添加依賴到gemfile.lock?

當我使用add_development_dependency時,我無法觀察到任何不同的東西。當我使用add_dependency以及add_runtime_dependency時,觀察到相同的效果。

它被添加到gemfile.lock作爲我的寶石的唯一依賴,但不是項目依賴。我希望將它作爲項目依賴項添加,因爲我認爲將冗餘作爲我的寶石的一個單元添加,並且將項目依賴項添加到Gemfile中。

我不明白的是,如果我添加jquery作爲我的寶石的一個單元,但不要直接將它添加到應用程序Gemfile中,它不會被找到。我收到以下錯誤。

"could not find file 'jquery'".

+0

你的Gemfile是什麼樣的? – 2015-03-26 03:26:16

+0

@AntarrByrd 我的Gemfile不包含jquery-rails。這甚至不包括在內。我想通過add_runtime_dependency將jquery-rails包含在gemfile.lock中。 – rplaurindo 2015-03-26 06:54:07

回答

0

你不應該手動Gemfile.lock的。您應該在Gemfile中包含jquery-rails並進行捆綁安裝。 gemfile.lock由bundler管理。如果你只需要在給定的環境中依賴,你可以做類似的事情。

group :development do 
    gem 'better_errors' 
    gem 'bullet' 
    gem 'lol_dba' 
    gem 'meta_request' 
    gem 'pry-rails' 
    gem 'rbeautify' 
    gem 'rsense' 
    gem 'rubocop' 
    gem 'spring' 
    gem 'ruby-growl' 
end 

group :development, :test do 
    gem 'binding_of_caller' 
    gem 'jazz_hands' 
end 

任何不屬於特定羣組的東西都會包含在所有環境中。

+0

但添加到Gemfile並通過捆綁命令安裝它就是我不想要的。我想jquery是從另一個gem安裝的。得到它? – rplaurindo 2015-04-01 13:00:15

+0

@RafaelLaurindo這是什麼寶石?它的Gemfile中有jquery嗎? – 2015-04-01 15:24:16

+0

個人的寶石。我嘗試通過這個我的個人寶石添加jquery-rails與「add_runtime_dependency」。理解? – rplaurindo 2015-04-01 21:01:28