2015-01-27 19 views
18

Tôi đang cố gắng thiết lập hộp Ubuntu 14.04 làm môi trường phát triển cho đường ray 4.2.Lỗi cấp phép mùa xuân Ubuntu 14.04

Khi tôi cố gắng chạy rails c, tôi nhận được lỗi sau:

fileutils.rb:252:in `mkdir': Permission denied @ dir_s_mkdir - /run/user/1000/spring (Errno::EACCES) 

này được gây ra bởi vì /run/user/1000 được sở hữu bởi người dùng tyler và tôi đang cố gắng để thực hiện các lệnh như người dùng deployer. Tôi đến đó bằng cách đăng nhập vào hệ thống là tyler rồi su - deployer.

Nếu tôi đăng nhập vào hệ thống là deployer, tôi có thể thực hiện rails c mà không có vấn đề và nó tạo ra một thư mục riêng biệt /run/user/1001 thuộc sở hữu của người triển khai.

  • Ubuntu 14.04.1 LTS
  • Rails-4.2.0
  • ruby-2,2
+0

Bạn đang sử dụng Capistrano và chạy với rvm? – zx1986

+0

Tôi gặp vấn đề tương tự. Tôi đang sử dụng rbenv trong một tài khoản mới được tạo ra với một ứng dụng khung xương mới xây dựng với nhà soạn nhạc đường ray. – ReCoder

Trả lời

0

Có vẻ như khi người dùng 'Deployer' không có quyền tạo thư mục trong thư mục nhà của người dùng 'tyler'. Điều này có thể được cố định bằng cách thêm người dùng Deployer đến tyler nhóm với

usermod -a -G tyler deployer 

Bạn có lẽ sẽ muốn chạy lệnh này như là người chủ.

44

Dường như biến môi trường XDG_RUNTIME_DIR được đặt cho một số lý do. Bạn chỉ có thể chạy:

$ unset XDG_RUNTIME_DIR 
$ rails c 
1

Nếu sử dụng VirtualBox/Vagrant, chạy như sau:

sudo chown user:vagrant -R /run/user/1000 

Với người dùng là tên máy chủ của bạn.

Các vấn đề liên quan