2015-07-22 14 views
0

我正在(重新)開始學習Ruby,並正在編寫一個應用程序,它將(不出意外)需要安裝幾個gem。我需要將此應用程序提供給其他人運行,並且我擔心他們不會擁有所需的寶石。來自node.js,它的package.json和「npm install」能力,讓我想知道如何確保依賴對於其他人來說很容易安裝。我可以包含一個shell腳本來安裝所有東西,但是有沒有更好的Rubyish方法來管理寶石?等同於「npm install」的寶石

回答

2

在Ruby項目中用於依賴管理的優秀工具是Bundler。它允許Ruby項目指定應用程序按預期運行所需的確切寶石和版本。

您可以在目錄的根目錄指定的Gemfile中的依賴關係,就像這樣:

source 'https://rubygems.org' 
gem 'nokogiri' 
gem 'rack', '~>1.1' 
gem 'rspec', :require => 'spec' 

如果最終用戶提供捆綁他們的系統,他們可以運行你的應用程序中bundle install,並擁有所有必要的寶石安裝。

希望這會有所幫助!

2

Bundler是我通常使用的。它具有與npm匹配的功能。例如,如果我在Gemfile內有依賴關係,捆綁器會自動處理它們併爲您創建Gemfile.lck。看一看here.