Ruby on rails &引用;找不到发电机figaro:install";

Ruby on rails &引用;找不到发电机figaro:install";,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在使用Learn-Rails.com上的“LearnRubyonRails”pdf手册 我在第13章“配置”。我们应该在这里执行命令:“rails生成figaro:install” 在第12章中,我们安装了figaro gem:“我们已经在gem文件中安装了figaro gem,并运行了bundle安装。” 当我运行该命令时,我得到:“找不到生成器figaro:install。” 我开始寻找类似的问题,我确实在这里找到了这个问题: 建议将“迁移”也包括在命令中 我把它包括在我的命令中,我让它

我正在使用Learn-Rails.com上的“LearnRubyonRails”pdf手册

我在第13章“配置”。我们应该在这里执行命令:“rails生成figaro:install”

在第12章中,我们安装了figaro gem:“我们已经在gem文件中安装了figaro gem,并运行了bundle安装。”

当我运行该命令时,我得到:“找不到生成器figaro:install。”

我开始寻找类似的问题,我确实在这里找到了这个问题: 建议将“迁移”也包括在命令中

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

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生成命令,figaro gem生成一个config/application.yml文件,并将其列在.gitignore文件中。gitignore文件防止config/application.yml文件保存在Git存储库中,因此您的凭据是私有的

当我转到我的项目目录,查看“config”文件夹时,我确实有一个“application”文件,但它以“.rb”而不是“yml”结尾。很明显,指挥部没有做它应该做的,对吧

有人对我有什么想法吗

我在Mac OSX 10.7.5上将Ruby 2.0.0和Rails 4.0.2与RVM一起使用(顺便说一句,欢迎来到Rails社区!),让我解释一下Figaro的功能以及如何使用(安装)它:


费加罗

费加罗是一种在开发和生产中创造的方式。在从Rails cmd调用之前,必须先安装它

与Rails中的其他Ruby Gem一样,您必须将其添加到您的
Gemfile
,该文件列出了您的应用程序将使用的所有插件。根据,您可以将其列在您的GEM文件中,如下所示:

#Gemfile
gem "figaro", "~> 0.7.0"
将此行添加到GEM文件后,需要安装它。为此,您应该运行
bundle install
来运行bundler(安装程序)

完成此操作后,需要从cmd运行此命令:

rails generate figaro:install

错误

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

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

我猜你把这个命令叫做:

rake db:migrate figaro:install

如果是这种情况,您应该通过运行
rakedb:migrate
然后
railsgeneratefigaro:install
来执行任何迁移。这将分别运行这些命令,这将有助于它们工作

如果您现在使用本教程而不是“rails生成figaro:install”运行命令“figaro:install”,因为figaro 1.0.0版本

请尝试以下一个:

bundle exec figaro安装


谢谢

您是否将
gem“figaro”
行放入项目的
Gemfile
文件,然后运行
bundle安装
?是的,这里的行是:gem'compass rails',“~>2.0.alpha.0”gem'figaro'就是我们使用的。然后我做了捆绑安装。你可能需要重新启动终端:非常感谢!很好,很有帮助的回答。根据这本书,它说要将这个添加到gem文件中:“gem'compass rails',“~>2.0.alpha.0'gem'figaro'”,我这样做了,然后我们运行了bundle安装,它似乎工作得很好。我调用的命令是:“railsgeneratefigaro:install”。我是不是应该把文件改成你的建议?我仍然担心输入错误的命令,把事情搞砸。再次感谢Rich,我继续用你的建议编辑了我的Gemfile,我很乐意去做!是的,这解决了问题。再次感谢!上面提到的版本(0.7.0)似乎有所帮助。当我尝试在没有指定版本的情况下安装figaro时,它安装了1.1.0(在稍后的gem卸载过程中发现)。使用较低版本可消除此“未找到发电机”错误。谢谢~困惑但感激版本
1.0.0
1.1.1
都不工作。这一个很有效。非常感谢:)顺便说一句,它实际上是“figaro安装”