新的 Ubuntu 开发设置上的 Errno::EACCES:权限被拒绝

您好,我设置了 Discourse,但没有使用 Docker,或者至少是想这样做,直到我进行到这一步:

bundle exec rake db:create

Errno::EACCES: Permission denied @ rb_sysopen - /home/discourse/tmp/ember-rails/ember.js

您正在遵循哪个开发指南?

我认为问题在于您的用户没有创建数据库的权限。

我知道,尽管我给了用户超级用户权限!而且我遵循了这个指南!

我最好的猜测是,您创建的用户和它正在使用的用户不是同一个。不过,我也不知道还能告诉您什么。

啊,找到了!Discourse 目录中的一些文件不可写!

chmod -R 777 .
2 个赞

太好了!我猜到是些小问题,但小问题太多了,真不知道是哪个!

那现在一切都搞定了?

1 个赞

是的,解决了!小小的改动也能带来巨大的改变!

1 个赞

现在又出现了一个新错误(真不敢相信 :roll_eyes:!):

#<Thread:0x000055c972f94c78 /home/discourse/lib/scheduler/defer.rb:79 run> terminated with exception (report_on_exception is true):
/usr/local/rvm/gems/ruby-3.0.2/gems/activerecord-6.1.4.7/lib/active_record/connection_handling.rb:323:in connection_pool': ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished) from /usr/local/rvm/gems/ruby-3.0.2/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management/rails_61_compat.rb:8:in current’
from /usr/local/rvm/gems/ruby-3.0.2/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:115:in current_db_hostnames' from /usr/local/rvm/gems/ruby-3.0.2/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:111:in current_hostname’
from lib/discourse.rb:176:in handle_job_exception' from /home/discourse/lib/scheduler/defer.rb:102:in rescue in do_work’
from /home/discourse/lib/scheduler/defer.rb:101:in do_work' from /home/discourse/lib/scheduler/defer.rb:79:in block (2 levels) in start_thread’
/usr/local/rvm/gems/ruby-3.0.2/gems/activerecord-6.1.4.7/lib/active_record/connection_handling.rb:323:in connection_pool': ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished) from /usr/local/rvm/gems/ruby-3.0.2/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:79:in with_connection’
from /home/discourse/lib/scheduler/defer.rb:89:in do_work' from /home/discourse/lib/scheduler/defer.rb:79:in block (2 levels) in start_thread’