Mais velho e mais sábio
Não faça o que eu digo aqui, apenas saiba ser cauteloso sempre que usar sudo
. Você provavelmente deseja usar algo parecido rbenv
para isolar qualquer trabalho que esteja fazendo.
longe
aprender sobre chown
Não sei se você gosta da linha de comando, mas isso facilitará o trabalho em qualquer projeto com qualquer ferramenta que instale pacotes no seu sistema.
chown
até onde eu sei, significa propriedade da mudança.
A razão pela qual vim procurar esta resposta é porque gem install
jogou esse erro em mim hoje:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /var/lib/gems/1.9.1 directory.
Esta é uma oportunidade perfeita para usar chown
. Você vê que Ruby nos deu o diretório ao qual precisa acessar e parece que é um diretório que ele usará com bastante frequência.
Nesse caso, há apenas três coisas que precisamos saber para resolver o problema, mas chown
é muito mais poderoso e concede a você muito mais flexibilidade do que demonstrarei agora. Por favor, consulte a fonte na parte inferior para mais informações.
As duas coisas
- Nome do usuário
- Diretório
Se você estiver em um shell, é fácil encontrar o nome de usuário. Basta olhar para o prompt. O meu se parece com:
breadly@breadly-desktop:~\Desktop
O usuário atual é apenas o nome antes do @
. Conhecemos o diretório a partir das mensagens de erro, mas você tem duas opções. Você pode limitar sua permissão para a versão atual usando ../gems/1.9.1
ou conceder permissão de gravação para gemas de todas as versões usando ../gems
.
O comando para realmente mudar de propriedade seria assim.
chown -R $(whoami) /absolute/path/to/directory
O -R
sinalizador é conhecido como sinalizador e, -R
geralmente, indica a um comando para fazer algo recursivamente, ou, em outras palavras, executar o comando em tudo que estiver contido no diretório, e em tudo o que estiver contido nos diretórios contidos nele, e assim por diante. não há mais nada.