Команда annotate не работает, добавила ее в мой gemfile

Мой файл gem выглядит так:

 group :development, :test do
    gem 'rspec-rails'
    gem 'annotate-models', '1.0.4'
 end

Я запустил 'bundle install' и установил пакет аннотатных моделей.

Если я набираю: annotate Я получаю команду, не найденную ошибку.

Если я набираю: bundle show annotate Я получаю "не могу найти gem annotate в текущем комплекте".

Если я набираю пул show annotate-models, он говорит, что он установлен в:

/Library/Ruby/Gems/1.8/gems/annotate-models-1.0.4

набрав:

annotate-models

тоже не работает.

Я следую в railstutorial.org и застрял в этой точке.

Ответы

Ответ 1

Изменить: улучшенная версия (с помощью Bundler для ее установки только для текущего проекта)

  • Добавить gem 'annotate' в Gemfile
  • Выполнить $ bundle install
  • Запустить $ bundle exec annotate

Edit2: Кажется, вам нужно явно указывать аннотированную версию на данный момент, поэтому в Gemfile поместите gem 'annotate', '2.4.1.beta1' (это предварительная бета-версия, которая работает с последней версией activerecord, в отличие от непосредственного указания репликации github)

Edit3: 2.5.0 final отсутствует, поэтому, надеюсь, больше не нужно форсировать бета-версию, просто нужно использовать последнюю версию!

Старая версия (с установкой жемчужины на системном уровне тоже):

При запуске Rails 3 упражнение:

  • Запустить $ sudo gem install annotate
  • Добавить gem 'annotate' в Gemfile
  • Выполнить $ bundle install
  • Запустить $ annotate
  • Будьте счастливы:)

Ответ 2

Самый проголосовавший ответ не полностью работал у меня, поскольку я получал дополнительную ошибку, следуя предлагаемому решению:

undefined method `namespace' for main:Object (NoMethodError)

Я включил ниже то, что сработало для меня (я использую Ruby 1.9.2 и Rails 3.1.3 под Ubuntu 11.10):

  • Установить аннотацию

    $ gem install annotate
    
  • Измените Gemfile, добавив следующую строку

    gem 'annotate', 
        :git => 'git://github.com/jeremyolliver/annotate_models.git', 
        :branch => 'rake_compatibility'
    
  • Установить пакет

    $ bundle install    
    
  • Теперь вы можете использовать аннотацию следующим образом:

    $ bundle exec annotate
    

Ответ 3

Вы должны запустить команду внутри вашей связанной среды:

$ bundle exec annotate

Подробнее о man page.

Ответ 5

Я новичок в этом, но у меня возникла проблема с учебником по рельсам, но, добавив путь bin bin к переменной env PATH, я смог ее исправить. (Так же, как Гертас сказал несколько сообщений выше)

Сначала в командной строке:

gem list -d annotate

и вы получите результат, который говорит что-то вроде

: аннотатные модели (1.0.4)

    Автор: Дейв Томас

    Rubyforge: http://rubyforge.org/projects/annotate-models

    Домашняя страница: h'ttp://annotate-models.rubyforge.org

    Устанавливается по адресу: C:/ruby192/lib/ruby/gems/1.9.1

ключевая строка:

Установлен по адресу: C:/ruby192/lib/ruby/gems/1.9.1

Итак, в этом случае добавьте /bin к этому пути. Например, я использовал: C:\ruby192\lib\ruby ​​\ gems\1.9.1\bin - это то, что вы хотите добавить в переменную среды PATH.

Чтобы изменить переменную среды PATH в Vista, выполните следующие действия: панель управления → система → расширенные системные настройки (ссылка слева). Когда откроется окно, откройте вкладку "Дополнительно" и нажмите кнопку "Переменные среды". Затем на системных переменных найдите переменную PATH и нажмите кнопку "Изменить". Поскольку пути разделены полуколонами, добавьте

;C:\ruby192\lib\ruby\gems\1.9.1\bin

В конце поля значения переменной.

Он должен выглядеть `Некоторый/путь; some_other_path; C:\ruby192\Lib\рубин\самоцветы\1.9.1\bin` когда вы закончите

Сохраните его и закройте и снова откройте командную строку. annotate и rspec начали работать для меня после этого. Удачи.

Ответ 6

Используйте

gem 'annotate', '2.4.0'

вместо

gem 'annotate-models', '1.0.4'

Похоже, имя драгоценного камня было изменено на RubyGems.org.

Ответ 7

Я думаю, что вашей переменной env PATH не хватает пути к каталогу bin gems. Я думаю, это должно быть: /Library/Ruby/Gems/1.8/bin

Ответ 8

Вы можете использовать его для Rails 4, добавить gem в gem файл gem "annotate", "~ > 2.5.0" и запустить следующую команду

rails g annotate_models:install

вместо

rails g annotate:install

Затем выполните следующую команду для добавления информации о схеме после класса модели

bundle exec annotate -p after

или может использовать следующее для

 bundle exec annotate -p before