#ruby #ruby-2.3.1
#ruby #ruby-2.3
Вопрос:
Когда я пытаюсь запустить rubyscript через терминал с помощью ruby test.rb
команды, он показывает мне следующую ошибку:
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
Комментарии:
1. Он не может найти «gosu». Кроме того, опубликуйте ошибку здесь, в вопросе.
2. Но как? Я установил gosu с помощью команды «gem install gosu». Это происходит в списке в результате команды «список драгоценных камней».
3. @Miszo97 эта строка в вашем сообщении об ошибке:
'require': cannot load such file -- gosu
скажите, что gem не был установлен4. Вы уверены, что установили gem на ту же версию ruby, которую используете в настоящее время? Если вы использовали
sudo gem install gosu
, то gem был установлен в системный ruby, а не в RVM ruby.5. @philomory Да, это сработало, когда я использовал sudo gem для установки gosu cammand. Большое спасибо!
Ответ №1:
Вы должны установить gem gosu
инструкции для macOS и Linux.
Если вы уже просматривали инструкцию для macOS, возможно, вы пропустили одну из этих строк:
Gosu построен поверх библиотеки SDL 2. Я рекомендую установить Homebrew, а затем запустить brew install sdl2.
(Версии Gosu более ранние, чем 0.10.0, также требовали установки brew libogg libvorbis. Gosu 0.10.0 и более поздние версии вместо этого включают stb_vorbis.)
или
rbenv также работает. rvm НЕ поддерживается — иногда он работает, но так же часто он устанавливает нестандартные компиляторы, несовместимые с Gosu.
Ответ №2:
Проблема решена. Проблема заключалась в том, что я не установил gosu на неправильную версию ruby. Команда sudo gem install gosu
сработала, и мне удалось запустить exe-файл. Спасибо вам всем!
Комментарии:
1. На самом деле это прямо противоположно тому, что я хотел указать в своих комментариях, но это работает. Как указывает @Alex ниже, gosu не поддерживается с Rubies, установленными через RVM (он может работать, действительно, у меня это работало раньше, но это не всегда работает, и довольно сложно определить, когда он будет работать, а когда нет)
Ответ №3:
Запуск вашего скрипта в моей системе, он загружается нормально.
Если вы используете Ruby Gosu в OSX, вам может потребоваться перейти сюда:
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…
за: 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
…загружает окно размером 640×480
user@ubuntu:~/Ruby/gosu_project$ ruby gosu_test.rb