2013-03-02 5 views
2

Я скачал Рубин 2.0 и имеет серьезные проблемы с require, когда я пытаюсь запустить простой Синатр приложение:Не удается загрузить файлы с помощью требует

/Users/Kuba/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- sinatra (LoadError) 
from /Users/Kuba/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' 
from test.rb:1:in `<main>' 

Кроме того, это и другие программы, у меня есть проблема с компанией, работал отлично, когда я использовал Ruby 1.8.7.

Что мне делать?

ответ

0

Возможно, библиотеки, которые вы использовали, находятся под каталогом для Ruby 1.8. Я думаю, что неплохо было бы переустановить необходимые библиотеки под Ruby 2.0.

2

Вы также установили драгоценные камни?

Ruby 2.0 - это совершенно новая установка. Установка ruby ​​2.0 не означает, что вы храните установленные драгоценные камни.

Это не Ruby 2.0. Насколько я знаю, каждая новая рубиновая установка имеет свои собственные драгоценные камни.

Есть инструменты администрировать Diffferent рубины:

  • rvm (рубин версия менеджера)
  • pik для окон
+0

но программа, в которых я не использую любые драгоценные камни, но только другие файлы, сделанные мной, дает мне тот же результат – Leo

+0

[Синатр] (https://rubygems.org/gems/sinatra) является драгоценным камнем. Как вы используете рубин? Вы используете ruby ​​из оболочки или из веб-приложения? Возможно, вы используете ruby ​​из веб-приложения, не признавая, что используете дополнительные драгоценные камни. – knut

+0

ОК, но я также пытался запустить другие программы, а не только эту, используя синатра. некоторые из них имели другие файлы, которые были связаны с использованием (некоторые модули и прочее), и все они отказались работать. и я знаю, что они написаны правильно, так как я использовал их несколько раз до – Leo

3

сегодня у меня была эта проблема тоже при обновлении до> = 1,9, I была дана эта статья: «Upgrading From REE 1.8.7 to Ruby 1.9.3»

Соответствующая часть вашего вопроса, как упомянуто в вашем комментарии:

но программа, в которых я не используют любые драгоценные камни, но только другие файлы, сделанные мной, дает мне тот же результат

Из статьи 1

Пути загрузки:

В Ruby 1.9.3 LOAD_PATH больше не включает s ".", поскольку это было признано угрозой безопасности. Вы можете явно добавить его, когда требуете файлы, использовать абсолютные пути или использовать require_relative.

+1

Radical , Спасибо за подсказку 'require_relative'. –

Смежные вопросы