如何编写批处理脚本来安装ruby gem

时间:2016-04-18 22:50:10

标签: ruby batch-file rubygems yaml

我正在编写一个批处理脚本作为我编写的ruby程序的设置。它需要能够

一个。确保在用户的计算机上安装了Ruby(如果没有将它们指向ruby下载页面)

湾确保红宝石" yaml" gem已安装,这是它的先决条件。我试过了

gem install yaml

在批处理脚本中无济于事。如何编写将执行这两项操作的批处理脚本?

2 个答案:

答案 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,你会看到引发的异常。

相关问题