如何在 Ruby 项目中包含库?

3
我安装了 rvideo
gem install rvideo
aptitude install ffmpeg

我在阅读手册时使用rvideo编写了以下内容。
#!/usr/bin/env ruby

file = RVideo::Inspector.new(:file => "/home/user/r/input.mp4")
file.fps        # => "29.97" 
file.duration   # => "00:40:23.4" 

transcoder = RVideo::Transcoder.new

recipe = "ffmpeg -i $input_file$ -ar 22050 -ab 64 -f flv -r 29.97 -s"
recipe += " $resolution$ -y $output_file$"
recipe += "\nflvtool2 -U $output_file$"
begin
transcoder.execute(recipe, {:input_file => "/home/user/r/input.mp4",
:output_file => "/home/user/r/output.flv", :resolution => "640x360"})
rescue TranscoderError => e
puts "Unable to transcode file: #{e.class} - #{e.message}"
end

transcoder.original     # RVideo::Inspector object
transcoder.processed    # RVideo::Inspector object

当我执行以下操作时:
$ ruby hw.rb

我理解为:

first.rb:3: uninitialized constant RVideo (NameError)

在手册中,我找到了这段代码:
require 'test/unit/assertions'
include Test::Unit::Assertions
puts assert_equal nil == nil, nil.nil?

我该如何在我的项目中引入rvideo库?我怎么知道库的路径?


require': no such file to load -- rvideo (LoadError) - volkov
@Hisako ruby 1.8.7(2010-08-16 patchlevel 302)[x86_64-linux] - volkov
使用1.8.7版本,Anand的答案应该是正确的。 - Maximilian Stroh
rvm 1.17.7 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/] - volkov
如果安装了JVM,那么su user RVM消失了。怎么回事? - volkov
显示剩余6条评论
1个回答

2
#!/usr/bin/env ruby

require 'rubygems'
require 'rvideo'

file = RVideo::Inspector.new(:file => "/home/user/r/input.mp4")
file.fps        # => "29.97" 
file.duration   # => "00:40:23.4" 

# rest of the code follows

现在已经设置了JVM,请重试。 - volkov
在< main >中的救援:未初始化常量TranscoderError(NameError) 来自first.rb:16:<main> - volkov
/usr/local/rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require': 无法加载文件 -- transcodererror (LoadError) from /usr/local/rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require' from first.rb:6:in `<main>' - volkov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接