Команда annotate не работает, добавила ее в мой gemfile - PullRequest
16 голосов
/ 19 сентября 2010

Мой драгоценный файл выглядит так:

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

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

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

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

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

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

набрав:

annotate-models

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

Я следую в railstutorial.org и застрял на этом.

Ответы [ 8 ]

33 голосов
/ 18 ноября 2010

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

  1. Добавить gem 'annotate' в Gemfile
  2. Выполнить $ bundle install
  3. Выполнить $ bundle exec annotate

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

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

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

Если работает Rails 3, сверло:

  1. Пробег $ sudo gem install annotate
  2. Добавить gem 'annotate' в Gemfile
  3. Пробег $ bundle install
  4. Выполнить $ annotate
  5. Будь счастлив:)
10 голосов
/ 05 декабря 2011

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

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

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

  1. Установить аннотацию

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

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

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

    $ bundle exec annotate
    
10 голосов
/ 22 сентября 2010

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

3 голосов
/ 27 сентября 2011

Для меня ответ был один: http://news.railstutorial.org/model-annotation

2 голосов
/ 28 марта 2012

Используйте

gem 'annotate', '2.4.0'

вместо

gem 'annotate-models', '1.0.4'

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

2 голосов
/ 21 сентября 2010

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

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

gem list -d annotate

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

: annotate-models (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 и нажмите кнопку Edit .Поскольку пути разделяются точками с запятой, добавьте

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

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

Это должно выглядеть как `some / path; some_other_path; C: \ ruby192 \lib \ ruby ​​\ gems \ 1.9.1 \ bin`, когда вы закончите

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

0 голосов
/ 30 октября 2013

Вы можете использовать его для 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
0 голосов
/ 19 сентября 2010

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

...