“找不到发电机figaro:安装”

时间:2014-01-22 05:11:19

标签: ruby-on-rails ruby

我正在使用" Learn Ruby On Rails" pdf book来自learn-rails.com。

我在第13章,"配置"。我们应该在哪里执行命令:" rails generate figaro:install"

在第12章中我们安装了figaro gem:"我们已经在Gemfile中安装了figaro gem并运行bundle install。"

当我运行该命令时,我得到:"找不到发电机figaro:安装。"

我开始搜索类似的问题,我确实在这里找到了这个问题:rails generate - "Could not find generator" 他们被推荐包括"迁移"也是如此。

我把它包含在我的命令中,我让它做了一些事情,但我不认为它做了它应该做的事情?

invoke  active_record
/Users/NormalUse/.rvm/gems/ruby-2.0.0-p353@learn-rails/gems/activerecord-4.0.2/lib/rails/generators/active_record/migration/migration_generator.rb:57:in `validate_file_name!': Illegal name for migration file: figaro:install (ActiveRecord::IllegalMigrationNameError)
(only lower case letters, numbers, and '_' allowed)
from /Users/NormalUse/.rvm/gems/ruby-2.0.0-p353@learn-rails/gems/activerecord-4.0.2/lib/rails/generators/active_record/migration/migration_generator.rb:10:in `create_migration_file'

然后还有大约20行。我只是不想把它放在这里。

作者接着说:

"使用rails generate命令,figaro gem生成一个config / application.yml文件并将其列在.gitignore文件中。 .gitignore文件可以防止config / application.yml文件保存在Git存储库中,因此您的凭据将保密。"

当我进入我的项目目录时,查看" config"文件夹,我有一个"应用程序"文件,但它以" .rb"结尾而不是" yml"。很明显,命令没有做它应该做的事,对吧?

有没有人对我有任何想法?

我在Mac OSX 10.7.5上使用Ruby 2.0.0和Rails 4.0.2与RVM

3 个答案:

答案 0 :(得分:13)

如果你现在做这个教程而不是“rails generate figaro:install”运行命令“figaro:install”由于figaro 1.0.0版本https://github.com/laserlemon/figaro

答案 1 :(得分:8)

当你正在学习时(欢迎来到Rails社区!),让我解释一下费加罗所做的事情。如何使用(安装)它:


<强>费加罗

费加罗是一种在开发和开发中创建ENV variables的方法。生产。在从Rails cmd调用之前必须安装gem

与Rails中的其他Ruby宝石一样,您必须将其添加到Gemfile,其中列出了您的应用将使用的所有插件。根据{{​​3}},你可以在你的Gemfile中列出如下:

#Gemfile
gem "figaro", "~> 0.7.0"

将此行添加到Gemfile后,您需要安装它。为此,您应该运行bundle install来运行bundler(安装程序)

完成此操作后,您需要从cmd:

运行此命令
rails generate figaro:install

错误

您的错误似乎表明您有迁移问题?

  

迁移文件的非法名称:figaro:install   (ActiveRecord的:: IllegalMigrationNameError)

我猜你叫这个命令:

rake db:migrate figaro:install

如果是这种情况,您应该通过运行rake db:migrate然后rails generate figaro:install来执行任何迁移。这将分别运行命令,这将有助于他们工作

答案 2 :(得分:4)

请尝试下面的一个:

捆绑exec figaro安装

谢谢