#ruby #sinatra
#ruby #sinatra
Вопрос:
Просто пытаюсь запустить простой http-сервер и понятия не имею о ruby
/usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/backports/uri/common_192.rb:53:in `remove_const': constant URI::WFKV_ not defined (NameError)
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/backports/uri/common_192.rb:53:in `<module:URI>'
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/backports/uri/common_192.rb:19:in `<top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/utils.rb:12:in `require'
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/utils.rb:12:in `<top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/request.rb:1:in `require'
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/request.rb:1:in `<top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/showexceptions.rb:3:in `require'
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/showexceptions.rb:3:in `<top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/showexceptions.rb:1:in `require'
from /usr/local/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/showexceptions.rb:1:in `<top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/base.rb:12:in `require'
from /usr/local/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra/base.rb:12:in `<top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra.rb:4:in `require'
from /usr/local/lib/ruby/gems/1.9.1/gems/sinatra-1.3.1/lib/sinatra.rb:4:in `<top (required)>'
from http.rb:1:in `require'
from http.rb:1:in `<main>'
и вот моя версия ruby на centos
ruby 1.9.1p376 (2009-12-07 revision 26041) [x86_64-linux]
любая помощь была бы очень признательна
Комментарии:
1. Пожалуйста, укажите содержимое вашего кода, вызывающего эту ошибку. В идеале продолжайте удалять код (пока эта ошибка все еще возникает), пока вы не приблизитесь к минимальному количеству строк кода, необходимых для воспроизведения.
2. FWIW, я могу воспроизвести следующий код:
require 'sinatra'
Ответ №1:
Это известная проблема, характерная для ruby-1.9.1 и rake-1.3.5. Пожалуйста, посмотрите на это. Как насчет обновления ruby до версии 1.9.2 или 1.9.3?
Обновить
С одной стороны, константа WFKV_ отсутствовала в версии ruby 1.9.1 и появляется в версии 1.9.2. С другой стороны, эта константа определена в файле uri/common_192.rb rack. 2011-10-03 Бен Хэмилл исправил проблему # 246 «Отключить предупреждение о переопределении этой константы из стандартной библиотеки» с помощью дополнительной remove_const :WFKV_
строки кода, и это исправление было включено в версию rack-1.3.5. Поэтому, если вы используете версию 1.9.1, вы должны использовать rack-1.3.4.
Комментарии:
1. я посмотрю на это и посмотрю, исправят ли это обновления … я использовал rpm, чтобы я мог скомпилировать из исходного кода