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 rbenvpara 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 installjogou 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.1ou 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 -Rsinalizador é conhecido como sinalizador e, -Rgeralmente, 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.