Подтвердить что ты не робот

Spring ошибка разрешения Ubuntu 14.04

Я пытаюсь настроить ящик Ubuntu 14.04 в качестве среды разработки для рельсов 4.2.

Когда я пытаюсь запустить rails c, я получаю следующую ошибку:

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

Это вызвано тем, что /run/user/1000 принадлежит пользователю tyler, и я пытаюсь выполнить команды как пользователь deployer. Я попал туда, войдя в систему как tyler, затем su - deployer.

Если я войду в систему как deployer, я могу выполнить rails c без проблем и создать отдельный каталог /run/user/1001, принадлежащий развертывателю.

  • Ubuntu 14.04.1 LTS
  • Rails-4.2.0
  • ruby-2.2
4b9b3361

Ответ 1

Кажется, что переменная окружения XDG_RUNTIME_DIR устанавливается по какой-то причине. Вы можете просто запустить:

$ unset XDG_RUNTIME_DIR
$ rails c

Ответ 2

Кажется, что пользователь "развертывателя" не имеет права создавать каталоги в домашнем каталоге пользователя "tyler". Это можно устранить, добавив пользователя-развертывателя в группу tyler с помощью

usermod -a -G tyler deployer

Вероятно, вы захотите запустить эту команду с правами root.

Ответ 3

Если вы используете VirtualBox/Vagrant, запустите следующее:

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

С именем пользователя вашего хоста.

Ответ 4

В этой ситуации появляется использование рельсов с новым пользователем. Так что нужно сделать, дать разрешение пользователю /1000

sudo chown deployer -R /run/user/0