Грабли прерваны! неопределенная локальная переменная или метод

В новой новой машине с 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.

Другие вопросы по тегам