【问题标题】:Rails 3.2.6: Getting 'Unable to access log file' error for development.log fileRails 3.2.6:develop.log 文件出现“无法访问日志文件”错误
【发布时间】:2012-07-16 00:17:14
【问题描述】:

这似乎是一个常见问题,但我似乎无法通过谷歌搜索等找到解决方案。

我刚刚创建了一个新的 Rails 3.2.6 应用程序并将其配置为使用 PostgreSQL 数据库进行本地开发。我遵循了这个RailsCast 并且能够正确安装和设置所有内容。

但是,每当我尝试执行任何 rails generate 或 rake 命令(rails generate modelrake db:migrate 等)时,我都会收到以下与我的 development.log 文件相关的错误:

Rails Error: Unable to access log file. Please ensure that /Users/****/projects/rails_projects/rails_app/log/development.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.

我看到了这些其他 stackoverflow 问题/答案,但它们并不完全适合我的情况:

除了那个错误,我的应用程序运行良好。此外,如果我使用所有默认值创建一个新的 rails 应用程序,我不会收到此错误。

任何建议/提示将不胜感激。或者,如果您需要有关我的本地环境的更多信息,请告诉我。

【问题讨论】:

  • 该文件不是 Postgres 的一部分(至少不是标准安装)。所以我不认为这是 Postgres 问题
  • 是的,我想...只是我做的唯一不同的事情就是在我的本地开发环境中使用 PostgreSQL 作为我的数据库,这就是我开始收到错误的时候。如果我只是使用 Rails 默认值进行本地开发(即 SQLite 等),我不会收到此错误。让我重新措辞/编辑问题并重新发布。

标签: ruby-on-rails logging ruby-on-rails-3.2 railscasts


【解决方案1】:

您是否验证了日志文件存在并且您可以访问它?我过去做过一些类似的事情。

【讨论】:

  • 嗨@BServiss,感谢您的回复。是的,该文件一直存在,我总是能够访问它。我实际上只是继续手动对文件进行了 chmod,现在我不再收到错误。
【解决方案2】:

我基本上按照错误消息的建议做了,并在development.log 文件上做了一个chmod 0666

$> cd /Users/****/projects/rails_projects/rails_app/log/  
$> chmod 0666 development.log

之后一切正常。

【讨论】:

    【解决方案3】:

    如果您的环境在 linux 上,请使用 sudo 检查它,例如,我在尝试运行迁移时遇到了那个错误 - rake db:migrate,所以我使用了 sudo rake db:migrate,这很有效,可能是因为当它的 rake试图咨询 development.log 没有正确的权限或类似的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-30
      • 2012-02-14
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多