0
我Rails3中的應用程序使用鬆糕(http://madeleine.rubyforge.org/)來存儲對象。權限錯誤3
m = SnapshotMadeleine.new("data_dir") {
Array.new
}
此代碼在我的本地計算機上正常工作,但會在服務器上引發錯誤。
Permission denied - data_dir
Trace是,
/home/foo/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:243:in `mkdir'
/home/foo/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:243:in `fu_mkdir'
/home/foo/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:217:in `block (2 levels) in mkdir_p'
/home/foo/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:215:in `reverse_each'
/home/foo/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:215:in `block in mkdir_p'
/home/foo/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:201:in `each'
/home/foo/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:201:in `mkdir_p'
madeleine (0.7.3) lib/madeleine.rb:319:in `ensure_directory_exists'
madeleine (0.7.3) lib/madeleine.rb:314:in `initialize'
madeleine (0.7.3) lib/madeleine.rb:48:in `new'
madeleine (0.7.3) lib/madeleine.rb:48:in `new'
發生此錯誤或者DATA_DIR目錄已經存在。我改變DATA_DIR目錄和根目錄777的許可,但錯誤依然發生。
我用導軌3.0和紅寶石1.9.2-P290與RVM,我啓動服務器
rails s -d -e production
我寫了一個簡單的測試代碼,並沒有錯誤工作。
require 'rubygems'
require 'madeleine'
madeleine = SnapshotMadeleine.new("data_dir") do
Array.new
end
madeleine.take_snapshot
是什麼原因導致此問題?
軌道用戶有權寫,因爲應用程序目錄是軌道用戶的主目錄下,該目錄是777反正,我不明白什麼是錯的,但問題是用薄,而不是解決使用WEBrick。 –