Грабли прерваны! неопределенная локальная переменная или метод
В новой новой машине с Ubuntu я установил ruby с
sudo apt-get установить ruby1.8
а затем установил rubygem1.8 с:
sudo apt-get установить rubygems
и после этого установлены рельсы 3.2.2 с:
драгоценный камень установить рельсы
Процедура была очень простой. Но тут возникает проблема. Когда я попытался проверить версию граблей с rake --trace -version
Я получил следующую ошибку:
rake aborted!
undefined local variable or method `rsion' for #<Rake::Application:0xb72c731c>
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:316:in `standard_rake_options'
/usr/lib/ruby/1.8/optparse.rb:1298:in `eval'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:316:in `standard_rake_options'
/usr/lib/ruby/1.8/optparse.rb:1298:in `call'
/usr/lib/ruby/1.8/optparse.rb:1298:in `parse_in_order'
/usr/lib/ruby/1.8/optparse.rb:1254:in `catch'
/usr/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
/usr/lib/ruby/1.8/optparse.rb:1248:in `order!'
/usr/lib/ruby/1.8/optparse.rb:1339:in `permute!'
/usr/lib/ruby/1.8/optparse.rb:1360:in `parse!'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:425:in `handle_options'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:74:in `init'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:72:in `init'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:64:in `run'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/var/lib/gems/1.8/gems/rake-0.9.2.2/bin/rake:33
/usr/local/bin/rake:19:in `load'
/usr/local/bin/rake:19
Это проблема из-за того, что я установил прямо из менеджера пакетов ubuntu apt-get?
1 ответ
rake --version
выведет версию рейка, которую вы установили. Или в коротком стиле: rake -V
, Смотрите документацию по рейку (читайте ниже о том, как это сделать).
Вы использовали одну черту перед длинной командой стиля. Если вы используете одну черту, все последующие буквы будут рассматриваться как отдельные параметры командной строки.
Например rake -h
покажет вам список возможных параметров командной строки и rake -Vvt
распечатывает версию rake, активирует запись сообщений в стандартный вывод и включает трассировку с полной обратной трассировкой. Это означает, что комбинированные параметры короткого стиля -V, -v и -t передаются в программу. В вашем случае вы пытались выполнить rake с опциями -v, -e, -r, -s, -i, -o и -n. Это сработало для -v (подробный) и -e (выполнить код), но rsion не удалось найти.rake --Vvt
будет искать вариант с именем Vvt, и rake --version
ищет вариант с именем версии.
Имейте в виду, что это все соглашение, программист должен подчиняться этим или нет. Чтобы получить список всех задокументированных параметров командной строки вашей программы, используйте man programm
для справочной страницы и programm -h
или же programm --help
для краткой документации замените "programm", например, rake, чтобы увидеть опции для rake.