使用rails s无法使用rails启动数据库

时间:2017-09-01 20:29:25

标签: ruby-on-rails ruby

所以我犯了一个巨大的错误,删除了一个计划从git克隆它的rails应用程序。现在我陷入困境,没有让我的服务器使用rails运行。

我一直收到以下错误,不知道如何修复它。

(((unsigned int)num) >> 3*i) & 7

1 个答案:

答案 0 :(得分:0)

正如我从堆栈跟踪中看到的那样,您缺少此文件:

/Users/macuser/Desktop/Freelance1/config/local_env.yml

这是避免使用git跟踪某些文件的常见模式。例如,database.ymlsecrets.yml。这些文件通常会添加到.gitignore以保留您的凭据,其他机密数据或本地设置,这对其他团队成员来说是无用的。

这就是为什么有一些示例文件,例如database.example.ymlsecrets.sample.yml,通常会有一些字段需要填入私人文件。

local_env.yml通常用于为您的应用程序设置一些环境变量(here是一篇关于它的文章)。我想,config/application.rb中有类似的内容:

config.before_configuration do
  env_file = File.join(Rails.root, 'config', 'local_env.yml')
  YAML.load(File.open(env_file)).each do |key, value|
    ENV[key.to_s] = value
  end
end

因此,它正在尝试打开不存在的文件,并且您收到此错误。

检查您的项目,可能有local_env.yml的示例文件。如果没有这样的文件,您可以像这样更改env文件加载:

config.before_configuration do
  env_file = File.join(Rails.root, 'config', 'local_env.yml')
  YAML.load(File.open(env_file)).each do |key, value|
    ENV[key.to_s] = value
  end if File.exists?(env_file)
end

因此,在尝试打开它之前,它会检查config/local_env.yml是否存在。

或者您只需添加config/local_env.yml文件。

但是如果你在这个文件中有一些重要的env变量,你可能会在使用它们的地方出错。但我不认为找到这些地方会是一个问题(至少你可以在整个项目中搜索ENV来检查env变量的使用位置)并将所需的变量添加到{{1} }。