我从GitHub存储库中克隆了一个app文件夹,在bundle安装了gem之后,我尝试使用rake db:setup和rake db:migrate命令,但都没有工作,这是我的错误信息:
**arun997@promanager:~/workspace (master) $ rake db:setup
require 'rails/all'... 2.470s
Bundler.require... 7.590s
rake aborted!
Cannot load `Rails.application.database_configuration`:
Could not load database configuration. No such file -
/usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.1.13/lib/rails/application/configuration.rb:105:in `database_configuration'
/usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-4.1.13/lib/active_record/railtie.rb:41:in `block (3 levels) in <class:Railtie>'
Could not load database configuration. No such file -
/usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.1.13/lib/rails/application/configuration.rb:105:in `database_configuration'
/usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-4.1.13/lib/active_record/railtie.rb:41:in `block (3 levels) in <class:Railtie>'
Tasks: TOP => db:setup => db:schema:load_if_ruby => db:create => db:load_config
(See full trace by running task with --trace)**
如果有人可以提供帮助,我会永远感激。
答案 0 :(得分:15)
答案 1 :(得分:2)
从.yml文件中删除.example扩展名
database.yml.example -> database.yml
答案 2 :(得分:1)
步骤: cp config / database.yml.example config / database.yml 捆绑检查 捆绑安装 再次导航
答案 3 :(得分:1)
我也遇到了这个问题。 打开我的文件:config,在文件中找到,有一个名为&#34; database.yml.example&#34;的文件, 但没有档案 &#34; database.yml的&#34 ;. 所以我从其他项目中复制了这个文件,这个问题就解决了。
答案 4 :(得分:0)
重启弹簧:
bin / spring stop
bin / spring start
Spring是一个内存预加载器,用于性能提升。如果您做一些疯狂的事情,例如更改Rails应用程序目录,然后重新进行git clone,则Spring拥有的基础目录在内部将有所不同,这将导致此操作失败。你会以为自己疯了;事实并非如此-有时候春天会变得温和。
答案 5 :(得分:0)
对于其中的文件,在克隆 Rails 5.2(或更高版本)项目之后,您可能会丢失master.key
文件。向项目所有者询问文件。
在文件夹your-rails-project/config/
中,您将有一个credentials.yml.enc
文件。这是具有项目凭据的加密文件,并使用master.key
文件中的密钥解密。
即使仅准备数据库(rails db:prepare
,如bin/setup
文件),Rails也需要访问凭据文件才能执行。
有关更多信息:https://guides.rubyonrails.org/security.html#custom-credentials。