运行ruby脚本时出错

时间:2016-10-01 20:46:45

标签: ruby ruby-2.3.1

当我尝试使用ruby test.rb命令通过终端运行rubyscript时 它向我显示以下错误:

MacBook-Air-K:myapp uzytkownik$ ruby test.rb
/Users/uzytkownik/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- gosu (LoadError)
	from /Users/uzytkownik/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:45:in `require'
	from test.rb:2:in `<main>'
MacBook-Air-K:myapp uzytkownik$

问题的根源是什么? 感谢您提前寻求帮助!

我的ruby版本是2.3.1(我认为最新的)

test.rb文件包含以下代码:

require 'gosu'

class GameWindow < Gosu::Window
  def initialize(width=320, height=240, fullscreen=false)
    super
    self.caption = 'Hello'
    @message = Gosu::Image.from_text(
      self, 'Hello, World!', Gosu.default_font_name, 30)
  end

  def draw
    @message.draw(10, 10, 0)
  end
end

window = GameWindow.new
window.show

3 个答案:

答案 0 :(得分:1)

您应该安装gem gosuMacOSLinux的说明。

如果你已经看过MacOS的说明,也许你错过了其中一行:

  

Gosu建立在SDL 2库的基础之上。我建议安装   Homebrew然后运行brew install sdl2。

     

(早于0.10.0的Gosu版本也需要brew安装   libogg libvorbis。 Gosu 0.10.0及更高版本捆绑了stb_vorbis。)

  

rbenv也有效。不支持rvm - 它有时可以工作,但只是   通常,它会安装不兼容的非标准编译器   与Gosu。

答案 1 :(得分:0)

问题已经解决了。问题是我已经将错误版本的红宝石用于gosu。命令sudo gem install gosu工作,我设法运行exe文件。谢谢大家!

答案 2 :(得分:0)

在我的系统上运行脚本,它加载正常。

如果您在OSX上使用Ruby Gosu,您可能希望转到此处:

https://github.com/gosu/gosu/wiki/Getting-Started-on-OS-X

对于它的价值,我目前正在使用Ubuntu 14和Ruby 2.3并使用rvm 1.11.3.9我已经下载了gosu 0.10.8并成功获得了一个gosu窗口来加载。我在使用Ruby Gosu时遇到了同样的问题,并在项目目录中使用“bundler”来处理gem依赖。除了访问该网站:

https://github.com/gosu/gosu/wiki/Getting-Started-on-Linux

并在命令行中输入后:

user@ubuntu:~/Ruby/gosu_project$ sudo apt-get install build-essential libsdl2-dev libsdl2-ttf-dev libpango1.0-dev libgl1-mesa-dev libfreeimage-dev libopenal-dev libsndfile-dev

user@ubuntu:~/Ruby/gosu_project$ gem install gosu

我还必须调用:

user@ubuntu:~/Ruby/gosu_project$

http://bundler.io/ - 也适用于MacOSX ......

per:https://github.com/gosu/gosu/wiki/ruby-tutorial

这个gosu文件:

# basic Gosu: gui test file

require 'gosu'

class TestWindow < Gosu::Window   # <-- inherits from Gosu Window Super class

  def initialize
    super 640, 480, false         # <-- width, height, fullscreen = false
    self.caption = "successful gosu test window"
  end

  def update
  end

  def draw
  end

end


TestWindow.new.show

...加载640x480窗口

user@ubuntu:~/Ruby/gosu_project$ ruby gosu_test.rb