我正在编写一个批处理脚本作为我编写的ruby程序的设置。它需要能够
一个。确保在用户的计算机上安装了Ruby(如果没有将它们指向ruby下载页面)
湾确保红宝石" yaml" gem已安装,这是它的先决条件。我试过了
gem install yaml
在批处理脚本中无济于事。如何编写将执行这两项操作的批处理脚本?
答案 0 :(得分:0)
您可以使用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
对于gem文件:
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
,这将安装所有宝石
答案 1 :(得分:0)
据我所知,没有 yaml gem。尽管在使用它的代码中必须使用它,但它是作为Ruby安装的一部分分发的。试试这个:
ruby -ryaml -e"puts 'YAML found'"
它应该工作;如果你将-r标记更改为某些不存在的gem,你会看到引发的异常。