He creado un archivo de proyecto específico .rvmrc
que incluye un gemset personalizado (con el comando rvm --rvmrc --create [email protected]
):RVM: Permiso denegado durante la carga del archivo gemset .rvmrc en todo el sistema de instalación
# excerpt of .rvmrc...
environment_id="[email protected]"
if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
&& -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
then
\. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
if [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]]
then
. "${rvm_path:-$HOME/.rvm}/hooks/after_use"
fi
else
# If the environment file has not yet been created, use the RVM CLI to select.
if ! rvm --create "$environment_id"
then
echo "Failed to create RVM environment '${environment_id}'."
return 1
fi
fi
Esto funciona de forma local en mi Mac, usando RVM de usuario único. También estamos usando Vagrant con una instalación de RVM en todo el sistema en nuestra caja Vagrant. Sin embargo, cuando cd
en el directorio del proyecto y aceptamos el archivo .rvmrc
, que da como resultado el siguiente mensaje (sí, hay una gran cantidad de mensajes de error duplicados):
mkdir: cannot create directory `/usr/local/rvm/gems/[email protected]': Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
-bash: /usr/local/rvm/environments/[email protected]: Permission denied
mkdir: cannot create directory `/usr/local/rvm/wrappers/[email protected]': Permission denied
Tratando de crear la gemset menciones manualmente la misma error, pero también menciona que fue exitoso:
$ rvm use 1.9.2
Using /usr/local/rvm/gems/ruby-1.9.2-p318
$ rvm gemset create registration
mkdir: cannot create directory `/usr/local/rvm/gems/[email protected]': Permission denied
'registration' gemset created (/usr/local/rvm/gems/[email protected]).
¿Tengo algo configurado incorrectamente? ¿Cómo puedo resolver este problema para poder usar un gemset personalizado desde un archivo .rvmrc
?
Estoy seguro de que 'sudo rvm ...' funcionará, pero esa no es la solución correcta. Cuando 'cd' en un directorio, el archivo '.rvmrc' debe cargarse automáticamente y crear el gemset sin requerir sudo. Hay un problema más grande pasando aquí. – Andrew