#ruby #ruby-on-rails-3 #internationalization #rails-i18n #i18n-tasks
#ruby #ruby-on-rails-3 #интернационализация #rails-i18n #i18n-задачи
Вопрос:
Я создаю новое приложение Rails, в котором используется драгоценный камень i18n-tasks, но когда я запускаю команду i18n-tasks
, отображается этот вывод:
/home/user-pc/.rvm/gems/ruby-1.9.3-p392@product/gems/i18n-tasks-0.5.1/lib/i18n/tasks/plural_keys.rb:3:in `<module:PluralKeys>': uninitialized constant I18n::Tasks::PluralKeys::Set (NameError)
from /home/user-pc/.rvm/gems/ruby-1.9.3-p392@product/gems/i18n-tasks-0.5.1/lib/i18n/tasks/plural_keys.rb:2:in `<top (required)>'
from /home/user-pc/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require'
from /home/user-pc/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require'
from /home/user-pc/.rvm/gems/ruby-1.9.3-p392@product/gems/i18n-tasks-0.5.1/lib/i18n/tasks/base_task.rb:5:in `<top (required)>'
from /home/user-pc/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require'
from /home/user-pc/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require'
from /home/user-pc/.rvm/gems/ruby-1.9.3-p392@product/gems/i18n-tasks-0.5.1/lib/i18n/tasks.rb:20:in `<top (required)>'
from /home/user-pc/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require'
from /home/user-pc/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require'
from /home/user-pc/.rvm/gems/ruby-1.9.3-p392@product/gems/i18n-tasks-0.5.1/bin/i18n-tasks:4:in `<top (required)>'
from /home/user-pc/.rvm/gems/ruby-1.9.3-p392@product/bin/i18n-tasks:23:in `load'
from /home/user-pc/.rvm/gems/ruby-1.9.3-p392@product/bin/i18n-tasks:23:in `<main>'
В чем основная проблема? Почему я не могу запустить эти команды, как в файле README?
Ответ №1:
Основная проблема заключалась в том, как запустить i18n-tasks
команду. В файле Readme указано, что я могу выполнить:
i18n-tasks
Но команда, выполняемая напрямую, не выполняется для меня. Для правильной работы команда должна выполняться как:
bundle exec i18n-tasks
Это было все.
Комментарии:
1. Я обнаружил, что когда драгоценный камень i18n устанавливается через bundler, определяя его в
Gemfile
, тогда мне нужно выполнитьbundle exec i18n-tasks
любую задачу. Если я хочу запуститьi18n-tasks
напрямую, мне также нужно установить gem из командной строки,gem install i18n-tasks
. Теперь я могу использовать его напрямую, не просматриваяbundler exec
.