我正在寫一個批處理腳本作爲我寫的一個紅寶石程序的設置。它需要能夠如何寫一個批處理腳本來安裝紅寶石
a。確保Ruby安裝在用戶的計算機上(並且如果沒有將它們指向ruby下載頁面)
b。確保安裝了ruby「yaml」gem,這是它的先決條件。我試過
gem install yaml
在批處理腳本中無濟於事。我怎樣才能編寫一個批處理腳本來完成這兩件事?
我正在寫一個批處理腳本作爲我寫的一個紅寶石程序的設置。它需要能夠如何寫一個批處理腳本來安裝紅寶石
a。確保Ruby安裝在用戶的計算機上(並且如果沒有將它們指向ruby下載頁面)
b。確保安裝了ruby「yaml」gem,這是它的先決條件。我試過
gem install yaml
在批處理腳本中無濟於事。我怎樣才能編寫一個批處理腳本來完成這兩件事?
您可以使用bundler
來創建gem文件,而不是編寫自己的腳本。這樣人們可以在任何操作系統上安裝所有的寶石。
例子:
require 'rubygems'
require 'bundler/setup'
require 'nokogiri'
require 'rest-client'
#require all your gems like normal
def parse(site)
Nokogiri::HTML(RestClient.get(site))
end
而對於創業板文件:
source: "https://rubygems.org"
gem 'nokogiri', '~> 1.6.7.2' #<= you can specify which version
gem 'rest-client' #<= you don't have to specify a version though
你已經得到的一切成立,cd
到具有的Gemfile的目錄並運行bundle install
在此之後將安裝所有寶石
據我所知,是 yaml寶石。雖然它在使用它的代碼中必須要求,但它作爲Ruby安裝的一部分進行分發。試試這個:
ruby -ryaml -e"puts 'YAML found'"
它應該工作;如果將-r標記更改爲某個不存在的gem,則會看到引發的異常。
您可以使用[bundler](http://bundler.io/)管理寶石(以及相應的版本)。 – orde