Mayores y más sabios
No hagas lo que digo aquí, solo sé cauteloso cada vez que lo uses sudo
. Probablemente quieras usar algo como rbenv
aislar cualquier trabajo que estés haciendo.
lejos
aprender acerca chown
No sé si le gusta la línea de comando, pero esto hará que trabajar en cualquier proyecto con cualquier herramienta que instale paquetes en su sistema sea muy fácil.
chown
Por lo que puedo decir, representa la propiedad del cambio.
La razón por la que vine a buscar esta respuesta es porque gem install
hoy me arrojó este error:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /var/lib/gems/1.9.1 directory.
Esta es una oportunidad perfecta para usar chown
. Verá que Ruby nos ha dado el directorio al que necesita acceso, y parece que es un directorio que usará con bastante frecuencia.
En este caso, solo hay tres cosas que uno necesita saber para resolver el problema, pero chown
es mucho más poderoso y le otorga mucha más flexibilidad de la que demostraré ahora. Consulte la fuente en la parte inferior para obtener más información.
Las dos cosas
- Nombre de usuario
- Directorio
Si estás en un shell, encontrar el nombre de usuario es fácil. Solo mira el aviso. El mío se ve así:
breadly@breadly-desktop:~\Desktop
El usuario actual es solo el nombre antes de @
. Conocemos el directorio de los mensajes de error, pero tiene dos opciones. Puedes limitar tu permiso a la versión actual usando ../gems/1.9.1
, o darte permiso de escritura para gemas de todas las versiones usando../gems
.
El comando para cambiar realmente la propiedad se vería así.
chown -R $(whoami) /absolute/path/to/directory
El -R
se conoce como una bandera y la -R
bandera generalmente le dice a un comando que haga algo de forma recursiva, o en otras palabras, ejecute el comando en cada cosa que está contenida en el directorio, y todas las cosas contenidas en los directorios contenidos dentro, y así sucesivamente hasta No hay nada más.