我正在使用" 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
答案 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安装
谢谢