【问题标题】:annotate command not working, added it to my gemfile注释命令不起作用,将其添加到我的 gemfile
【发布时间】:2011-04-14 09:05:05
【问题描述】:

我的 gem 文件如下所示:

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

我运行了“bundle install”,它安装了注释模型包。

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

如果我输入:bundle show annotate,我会收到“在当前包中找不到 gem 注释”。

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

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

打字:

annotate-models

也不行。

我正在关注 railstutorial.org 并在这一点上卡住了。

【问题讨论】:

  • Bundler 也可以在 Rails 2.x 中使用,但我猜它也是 Rails3。致 OP:愿意分享吗?
  • 是的,我使用的是 Rails 3.0,它在 3.0 中不起作用?
  • 我也在学习教程。根据此处接受的答案成功安装后,我在捆绑安装时收到此错误:“在您的 Gemfile 中列出的任何 gem 源中找不到 gem 'annotate-models (>= 0)'。” - 我的 Gemfile 中有一行用于 gem 'annotate-models' - 有人知道问题可能是什么吗?

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


【解决方案1】:

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

  1. gem 'annotate' 添加到 Gemfile
  2. 运行$ bundle install
  3. 运行$ bundle exec annotate

Edit2:看来您现在必须明确指定注释版本,所以在 Gemfile 中输入 gem 'annotate', '2.4.1.beta1'(这是一个预发布的 beta gem,可与最新版本的 activerecord 一起使用,而不是直接指定 github repo)

Edit3:2.5.0 最终版现已发布,因此希望不再需要强制发布测试版,只需获取最新版本即可!

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

如果运行 Rails 3,练习是:

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

【讨论】:

  • +1 这在 Mac OS X 10.6 和 ruby​​ 1.8.7 和 Rails 3.0.3 上对我有用。我认为“sudo”是使其适用于 Mac OS 的关键。
  • 我不得不做“rvm gem install annotate”
  • 好的,但是你能解释一下为什么吗?这是否意味着 annotate-models gem 的 rails 3 版本不在 ruby​​gems.org 源代码中,所以我们需要通过 gem 工具安装它?只是好奇...(编辑:没关系,gem 显然现在被命名为 annotate 而不是 annotate-models!)
  • 我仍然收到此错误。在 Mac 上运行 rails 3.1.3。它显示我已经安装了 annotate 2.4(在执行 gem list -d annotate 时)。
【解决方案2】:

您应该在捆绑环境中运行该命令:

$ bundle exec annotate

查看man page了解更多详情。

【讨论】:

    【解决方案3】:

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

    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. 现在可以按如下方式使用annotate:

      $ bundle exec annotate
      

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        我是新手,但是我在做 rails 教程时遇到了这个问题,但是通过将 gems bin 路径添加到 PATH 环境变量中,我能够修复它。 (就像gertas上面说的几篇帖子一样)

        首先在命令提示符下:

        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 环境变量的内容。

        要在 Vista 上更改 PATH 环境变量,请执行以下操作:控制面板 >> 系统 >> 高级系统设置(左侧链接)。框打开后,单击高级选项卡,然后单击环境变量按钮。然后在系统变量上找到 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 开始为我工作。祝你好运。

        【讨论】:

          【解决方案6】:

          使用

          gem 'annotate', '2.4.0'
          

          而不是

          gem 'annotate-models', '1.0.4'
          

          RubyGems.org 上的 gem 名称似乎已更改。

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

              你可以将它用于 Rails 4,在你的 gem 文件 gem "annotate", "~> 2.5.0" 中添加 gem 并运行以下命令

              rails g annotate_models:install
              

              而不是

              rails g annotate:install
              

              然后运行以下命令在模型类之后添加模式信息

              bundle exec annotate -p after
              

              或者可以在之前使用following

               bundle exec annotate -p before
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2017-03-27
                • 1970-01-01
                • 2022-01-02
                • 1970-01-01
                • 2016-09-15
                • 2020-12-01
                • 1970-01-01
                • 2015-06-24
                相关资源
                最近更新 更多