ruby-on-rails - 权限被拒绝@dir_s_mkdir -/run/user/gui/spring (Errno::EACCES)

标签 ruby-on-rails ruby-on-rails-4 ruby-on-rails-3.2

我在打开 -> Rails 控制台时遇到此问题

[chitra@localhost todo_app]$ rails c
/home/chitra/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/fileutils.rb:252:in `mkdir': Permission denied @ dir_s_mkdir - /run/user/gui/spring (Errno::EACCES)
    from /home/chitra/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/fileutils.rb:252:in `fu_mkdir'
    from /home/chitra/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/fileutils.rb:226:in `block (2 levels) in mkdir_p'
    from /home/chitra/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/fileutils.rb:224:in `reverse_each'
    from /home/chitra/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/fileutils.rb:224:in `block in mkdir_p'
    from /home/chitra/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/fileutils.rb:210:in `each'
    from /home/chitra/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/fileutils.rb:210:in `mkdir_p'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/env.rb:37:in `tmp_path'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/env.rb:54:in `pidfile_path'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/env.rb:69:in `server_running?'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/client/run.rb:25:in `call'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/client/command.rb:7:in `call'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/client/rails.rb:24:in `call'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/client/command.rb:7:in `call'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/client.rb:28:in `run'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/bin/spring:49:in `<top (required)>'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/binstub.rb:11:in `load'
    from /home/chitra/.rvm/gems/ruby-2.2.0@todo/gems/spring-1.4.0/lib/spring/binstub.rb:11:in `<top (required)>'
    from /opt/projects/todo_app/bin/spring:13:in `require'
    from /opt/projects/todo_app/bin/spring:13:in `<top (required)>'
    from bin/rails:3:in `load'
    from bin/rails:3:in `<main>'

我使用的是 ruby​​ 版本 2.2.0p0 和 Rails 4.2。 任何帮助将不胜感激。

最佳答案

这是引发错误的代码:

# File 'lib/spring/env.rb', line 35

def tmp_path
  path = Pathname.new(File.join(ENV['XDG_RUNTIME_DIR'] || Dir.tmpdir, "spring"))
  FileUtils.mkdir_p(path) unless path.exist?
  path
end

看起来您已将 XDG_RUNTIME_DIR 设置为 /run/user/gui/ 但服务器没有对该目录的写入权限。因此,您可以授予对该目录的访问权限,也可以通过输入 unset XDG_RUNTIME_DIR

取消设置 XDG_RUNTIME_DIR

关于ruby-on-rails - 权限被拒绝@dir_s_mkdir -/run/user/gui/spring (Errno::EACCES),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32708726/

相关文章:

ruby-on-rails - 我如何使用 rails 验证长度来检查一个或另一个值,而不是一个范围?

ruby-on-rails - 用于 Ruby on Rails 的 SAML 2.0 SSO?

ruby-on-rails - Rails 声誉系统

javascript - 将 Ruby on Rails 与 Epub.js 集成

amazon-s3 - Ruby on Rails 在大型上传期间超时

ruby-on-rails - Rails 使用集合将数组传递给部分

ruby-on-rails - 无法将 Rails 应用程序部署到 Heroku, "Invalid RUBY_VERSION"

ruby-on-rails - delay_job 不起作用(rails 3.1.3)

mysql - Rails/MySQL : Group/Distinct doubles query time using LEFT JOINS/slow performance

ruby-on-rails-4 - Net::SMTPAuthenticationError,535-5.7.8 用户名和密码不被接受