1

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

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

4

3 回答 3

1

问题已解决。问题是我已经将 gosu 安装到了错误版本的 ruby​​ 上。命令sudo gem install gosu起作用了,我设法运行了 exe 文件。谢谢大家!

于 2016-10-01T21:22:54.913 回答
1

您应该安装MacOSLinuxgem gosu的说明。

如果您已经看过 MacOS 的说明,也许您错过了以下几行:

Gosu 构建在 SDL 2 库之上。我建议安装 Homebrew,然后运行 ​​brew install sdl2。

(Gosu 0.10.0 之前的版本也需要 brew install libogg libvorbis。Gosu 0.10.0 和更高版本的 bundle stb_vorbis 代替。)

或者

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

于 2016-10-01T21:04:02.557 回答
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 并在项目目录中使用“捆绑器”处理 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...

每: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
于 2016-10-05T01:27:54.767 回答