Ответ 1
Кажется, что переменная окружения XDG_RUNTIME_DIR устанавливается по какой-то причине. Вы можете просто запустить:
$ unset XDG_RUNTIME_DIR
$ rails c
Я пытаюсь настроить ящик 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
, принадлежащий развертывателю.
Кажется, что переменная окружения XDG_RUNTIME_DIR устанавливается по какой-то причине. Вы можете просто запустить:
$ unset XDG_RUNTIME_DIR
$ rails c
Кажется, что пользователь "развертывателя" не имеет права создавать каталоги в домашнем каталоге пользователя "tyler". Это можно устранить, добавив пользователя-развертывателя в группу tyler с помощью
usermod -a -G tyler deployer
Вероятно, вы захотите запустить эту команду с правами root.
Если вы используете VirtualBox/Vagrant, запустите следующее:
sudo chown user:vagrant -R /run/user/1000
С именем пользователя вашего хоста.
В этой ситуации появляется использование рельсов с новым пользователем. Так что нужно сделать, дать разрешение пользователю /1000
sudo chown deployer -R /run/user/0