Rails 3.2.6: Получение ошибки «Невозможно получить доступ к файлу журнала» для файла development.log

Кажется, это обычная проблема, но я просто не могу найти решение через поиск в Google и т. Д.

Я только что создал новое приложение Rails 3.2.6 и настроил его для использования базы данных PostgreSQL для моей локальной разработки. Я следил за этим RailsCast и смог все установить и правильно настроить.

Однако всякий раз, когда я пытаюсь выполнить какие-либо команды rails generate или rake (rails generate model, rake 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 со всеми его значениями по умолчанию, я не получу эту ошибку.

Будем очень признательны за любые предложения / подсказки. Или, если вам нужна дополнительная информация о моей местной среде, дайте мне знать.


person richsinn    schedule 17.07.2012    source источник
comment
Этот файл не является частью Postgres (по крайней мере, не является стандартной установкой). Так что я не думаю, что это проблема Postgresn   -  person a_horse_with_no_name    schedule 17.07.2012
comment
Да, я подумал ... Просто единственное, что я сделал иначе, - это использовал PostgreSQL для моей базы данных для моей локальной среды разработки, и именно тогда я начал получать ошибки. Если я просто использую настройки Rails по умолчанию для локальной разработки (например, SQLite и т. Д.), Я не получаю эту ошибку. Позвольте мне переформулировать / отредактировать вопрос и опубликовать его повторно.   -  person richsinn    schedule 18.07.2012


Ответы (3)


Вы проверили, есть ли файл журнала и можете ли вы к нему получить доступ? Я делал нечто подобное в прошлом.

person BServiss    schedule 22.07.2012
comment
Привет, @BServiss, спасибо за ответ. Да, файл существовал всегда, и я всегда мог получить к нему доступ. На самом деле я просто пошел дальше и вручную выполнил chmod для файла, и теперь я больше не получаю сообщение об ошибке. - person richsinn; 23.07.2012

Я в основном сделал то, что предлагалось в сообщении об ошибке, и сделал chmod 0666 в development.log файле:

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

После этого все заработало.

person richsinn    schedule 24.09.2012

Проверьте это с помощью sudo, если ваша среда находится на Linux, например, я получил эту ошибку при попытке запустить миграцию - rake db:migrate, поэтому я использовал sudo rake db:migrate, и это сработало, возможно, потому что грабли, когда он пытается проконсультироваться с development.log, не иметь нужные разрешения или что-то в этом роде.

person Fulvio    schedule 17.06.2015