annotate命令不起作用,将其添加到我的gemfile中

时间:2010-09-19 16:47:30

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems gem

我的宝石文件如下:

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

我运行了'bundle install'并安装了annotate-models软件包。

如果我输入:annotate我收到命令未找到错误。

如果我输入:bundle show annotate我在当前的捆绑包中找不到'找不到宝石注释。

如果我输入bundle show annotate-models,则说它安装在:

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

打字:

annotate-models

也不起作用。

我正在关注railstutorial.org并且此时陷入困境。

8 个答案:

答案 0 :(得分:33)

编辑:更好的版本(使用Bundler仅为当前项目安装)

  1. gem 'annotate'添加到Gemfile
  2. 运行$ bundle install
  3. 运行$ bundle exec annotate
  4. Edit2:似乎你现在必须明确指定注释版本,所以在Gemfile中放gem 'annotate', '2.4.1.beta1'(这是一个预先发布的beta gem,与最新版本的activerecord一起使用,而不是直接指定github repo)< / p>

    Edit3:2.5.0 final现在已经发布了,所以希望不再需要强制推出测试版,只需获取最新版本即可!

    旧版本(在系统级别安装gem):

    如果运行Rails 3,那么演练是:

    1. 运行$ sudo gem install annotate
    2. gem 'annotate'添加到Gemfile
    3. 运行$ bundle install
    4. 运行$ annotate
    5. 快乐:)

答案 1 :(得分:10)

您应该使用以下命令在捆绑环境中运行命令:

$ bundle exec annotate

查看man page了解详情。

答案 2 :(得分:10)

投票最多的答案对我来说并不完全有效,因为我在遵循建议的解决方案时会遇到其他错误:

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

我在下面包括对我有用的东西(我在Ubuntu 11.10下使用Ruby 1.9.2和Rails 3.1.3):

  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
    

答案 3 :(得分:3)

对我来说,答案是这样的: http://news.railstutorial.org/model-annotation

答案 4 :(得分:2)

我是新手,但我在执行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:\ ruby​​192 \ lib \ ruby​​ \ gems \ 1.9.1 \ bin是你想要添加到PATH环境变量的。

要在Vista上更改PATH环境变量,请执行以下操作:控制面板&gt;&gt; system&gt;&gt;高级系统设置(左侧链接)。打开该框后,单击高级选项卡,然后单击环境变量按钮。然后在系统变量上找到PATH变量并单击编辑按钮。由于路径由分号分隔,因此添加

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

在变量值字段的末尾。

看起来应该是这样的 `一些/路径; some_other_path; C:\ ruby​​192 \ lib中\红宝石\宝石\ 1.9.1 \ bin` 当你完成

保存,然后关闭并重新打开命令提示符。之后,annotate和rspec开始为我工作。祝你好运。

答案 5 :(得分:2)

使用

gem 'annotate', '2.4.0'

而不是

gem 'annotate-models', '1.0.4'

看起来在RubyGems.org上更改了宝石名称。

答案 6 :(得分:0)

我认为你的PATH env变量缺少gems bin目录的路径。 我想它应该是:/Library/Ruby/Gems/1.8/bin

答案 7 :(得分:0)

您可以将它用于Rails 4,在gem文件gem“annotate”,“〜&gt; 2.5.0”中添加gem并运行以下命令

rails g annotate_models:install

而不是

rails g annotate:install

然后运行以下命令在模型类

之后添加模式信息
bundle exec annotate -p after

或之前可以使用以下

 bundle exec annotate -p before