Eu tenho o Ruby instalado no meu Ubuntu 16.04.
$which ruby
/usr/bin/ruby
$ruby -v
ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu]
$gem install bundler
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /var/lib/gems/2.3.0 directory.
Qualquer ajuda será muito apreciada!
rubygems
gem-bundler
derek
fonte
fonte
Respostas:
Você primeiro precisa desinstalar o ruby instalado pelo Ubuntu com algo parecido
sudo apt-get remove ruby
.Em seguida, reinstale o ruby usando rbenv e ruby-build de acordo com seus documentos:
A última etapa é instalar o Bundler:
Então aproveite!
Derek
fonte
vim-gnome
por exemplo). Eu acho que preferiria saber por que em primeiro lugar ele precisa escrever/var/lib/...
para uma instalação do usuário ... Eu fiz umsudo gem install
quando não necessário?Ctrl+Alt+F1
e execute os seguintes comandos (desinstala e instala o Cinnamon novamente):sudo apt purge cinnamon && sudo apt install cinnamon
rbenv install -l
para obter uma lista de todas as versões disponíveis,rbenv install 2.5.1
em seguida, para a versão 2.5.1 ou o que quiser.Se você quiser usar a distribuição Ruby em vez de rb-env / rvm, você pode configurar um
GEM_HOME
para o usuário atual. Comece criando um diretório para armazenar as joias Ruby para seu usuário:Em seguida, atualize seu shell para usar esse diretório
GEM_HOME
e para atualizar suaPATH
variável para incluir o diretório bin Ruby gem.(A última linha recarregará as variáveis de ambiente em seu shell atual.)
Agora você deve conseguir instalar as gemas Ruby sob o seu usuário usando o
gem
comando. Consegui fazer isso funcionar com Ruby 2.5.1 no Ubuntu 18.04. Se estiver usando um shell que não seja Bash, você precisará editar o script de inicialização para esse shell em vez debashrc
.fonte
(Janeiro de 2019) Para instalar o Ruby usando o script Rbenv, siga estas etapas:
1. Primeiro, atualize o índice de pacotes e instale os pacotes necessários para a ferramenta ruby-build para construir Ruby a partir da fonte:
2. Em seguida, execute o seguinte comando curl para instalar rbenv e ruby-build:
3. Adicione $ HOME / .rbenv / bin ao PATH do sistema.
Se você estiver usando o Bash, execute:
Se você estiver usando Zsh, execute:
4. Instale a versão estável mais recente do Ruby e defina-a como uma versão padrão com:
5. Verifique se o Ruby foi instalado corretamente imprimindo o número da versão:
FONTE: Como instalar Ruby no Ubuntu 18.04
EDIT: Instale rubygems:
fonte
.zshrc
mudanças que fiz à mão) e funcionou perfeitamente. Da mesma forma que você adicionou como instalarrubygems
, eu sugiro talvez adicionando como atualizar mais tarde a versão rubi instalado (eu estou supondo que você acabou de executar osrbenv install
erbenv global
comandos novamente e talvezrbenv uninstall
podar versões desatualizadas)Em vez de mudar de proprietário, o que pode bloquear outros usuários locais, ou –algum dia– seu próprio servidor ruby / itens de implantação ... rodando sob um usuário diferente ...
Eu prefiro simplesmente estender os direitos dessa pasta específica para ... bem, todos:
(Eu também encontrei seu erro. Portanto, isso é razoavelmente verificado.)
fonte
Tente usar
chown -R
novar/lib/gems
diretório, atribuindo propriedade ao usuário [rubyusername
] neste exemplo, o usuário que irá instalar e desenvolver com gems.Isso muda recursivamente tudo no diretório gems . Para segurança extra em sistemas multiusuário, você também pode criar um grupo, em vez de aplicar o chown no rubyusername individual, e adicionar usuários a esse grupo.
fonte
Com base na resposta de derek acima, geralmente não é recomendado usar a instância Ruby fornecida pelo sistema para seu próprio trabalho de desenvolvimento, já que as ferramentas do sistema podem depender da versão ou localização específica da instalação do Ruby. Semelhante a esta resposta para Mac OSX , você desejará seguir as instruções de derek sobre como usar algo como rbenv ( RVM é uma alternativa semelhante) para instalar sua própria instância Ruby.
No entanto, não há necessidade de desinstalar a versão do sistema do Ruby, as instruções de instalação do rbenv fornecem um mecanismo para garantir que a instância do Ruby disponível em seu shell seja a instância do rbenv, não a instância do sistema. Isto é o
linha na resposta de derek.
fonte
Encontrei o mesmo erro nas Ações do GitHub. Adicionar
sudo
resolveu o problema.fonte
Reinstalar o Compass funcionou para mim .. É uma mágica!
fonte
Ubuntu 20.04:
Opção 1 - configurar um diretório de instalação gem para sua conta de usuário
Para bash (para zsh, usaríamos, é
.zshrc
claro)Opção 2 - usar snap
Desinstale o apt-version (
ruby-full
) e reinstale-o comsnap
fonte