
Instalando o Rails e suas dependências no Linux
Neste post nós vamos focar em instalar as dependências do Rails, indo desde o Git até o próprio framework, mostrando um passo a passo pra galera que está começando ou até mesmo quem já está por dentro do mundo e precisou formatar o PC (vish!).
O que vamos instalar:
- Git
- NodeJs
- Yarn
- RVM
- Ruby
- RubyGems
- Redis
- Postgres
- Rails
Sem mais delongas, vamos para os steps!
Git: O Versionador de Código
1. Primeiro, vamos atualizar o repositório:
1 |
sudo apt-get update |
2. Agora instalaremos o Git:
1 |
sudo apt-get install git |
3. Depois de instalado, precisamos executar dois comandos de configuração:
1 |
git config --global user.name "<seu nome>" |
1 |
git config --global user.email "youremail@domain.com" |
Este comandos são para configurarmos corretamente o nome e o email que aparecerão nas mensagens de commit.
NodeJS
1. Adicione o repositório do NodeJS:
1 |
sudo curl -sL https://deb.nodesource.com/setup_8.x | sudo bash - |
Estamos instalando a versão 8 do NodeJS.
2. Execute o comando para instalar:
1 |
sudo apt-get install nodejs |
Yarn
1. Primeiro, precisamos adicionar a chave GPG
1 |
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - |
2. Agora vamos adicionar o repositório do Yarn:
1 |
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list |
3. Por último, vamos atualizar o repositório e instalar o Yarn:
1 |
sudo apt-get update && sudo apt-get install yarn |
RVM: Ruby Version Manager
1. Instalar o RVM com o comando:
1 |
\curl -sSL https://get.rvm.io | bash |
2. Após a instalação, precisamos executar o comando para começar a usar o RVM:
1 |
source ~/.rvm/scripts/rvm |
Ruby
Para instalar o Ruby, utilizaremos o RVM. Então, caso ainda não tenha instalado, basta ir até a sessão do RVM.
1. Executar o comando para instalar a versão 2.4.4 do Ruby:
1 |
rvm install 2.4.4 |
Caso seja necessário instalar outra versão do Ruby, basta substituir o valor 2.4.4 por outra que você precise 😀
2. Este comando é para que possamos utilizar a versão 2.4.4:
1 |
rvm use 2.4.4 |
Neste comando também podemos acrescentar –default para que o RVM utilize esta versão por padrão
RubyGems
Ao instalar o Ruby pelo RVM no passo anterior, o RubyGems também já vem instalado. Porém, com o RVM nós podemos alterar a versão do RubyGems para uma versão específica se quisermos.
1. Vamos selecionar a versão do Ruby que instalamos:
1 |
rvm use 2.4.4 |
2. Podemos verificar a versão do RubyGems com o comando:
1 |
gem -v |
Verifique e guarde o valor que foi retornado
3. Agora vamos alterar a versão do RubyGems com o comando:
1 |
rvm rubygems 2.7.2 --force |
Estamos utilizando o –force porque a versão 2.4.4 do Ruby vem por padrão com o RubyGems 2.7.6 e estávamos fazendo um downgrade. Poderíamos também ter utilizado qualquer outra versão além da 2.7.2.
4. Agora verifique novamente a versão do RubyGems
1 |
gem -v |
O valor retornado foi 2.7.2, pois instalamos uma versão diferente da padrão.
5. Para voltar a versão normal basta executar:
1 |
rvm rubygems 2.7.6 |
Caso a versão padrão não seja a 2.7.6, você pode substituir este valor pela versão que for necessária.
Redis
1. O primeiro passo é baixar o arquivo compactado do Redis
1 |
wget http://download.redis.io/redis-stable.tar.gz |
2. Descompactar o arquivo baixado:
1 |
tar xvzf redis-stable.tar.gz |
3. Entrar no diretório descompactado:
1 |
cd redis-stable |
4. Executar os comando para instalar:
1 |
make |
1 |
make test |
1 |
sudo make install |
5. Para iniciar o server em modo daemon podemos executar o comando:
1 |
redis-server --daemonize yes |
Com este comando, ele executa o server do Redis em backgroup, não ocupando a nossa sessão.
Caso você não queira, basta remover a opção –daemonize yes.
6. Para pararmos o Redis em modo daemon, podemos executar:
1 |
redis-cli shutdown |
PostgreSQL
Para o Postgres, seguiremos uma sequencia maior de passos, pois instalaremos o banco de dados e faremos uma configuração para podemos criar um usuário admin e não precisarmos utilizar o postgres.
Este passos foram retirados do post Deploy Rails: Construa seu APP para a Digital Ocean facilmente
1. Para instalar, vamos executar:
1 |
sudo apt-get install postgresql |
2. Agora vamos instalar uma dependência da Gem pg que é utilizada por padrão em projetos Rails:
1 |
sudo apt-get install libpq-dev |
3. Vamos abrir o arquivo chamado pg_hba.conf do Postgres. Como instalamos a versão 9.5 no Postgres, que é a versão que está no repositório do Ubuntu, este arquivo está no caminho:
1 |
/etc/postgresql/9.5/main/pg_hba.conf |
4. Aberto o arquivo, vamos procurar a linha que contém o seguinte conteúdo:
1 2 |
# Database administrative login by Unix domain socket local all postgres peer |
5. Agora vamos substituir a palavra “peer” por “trust“, ficando deste jeito:
1 2 |
# Database administrative login by Unix domain socket local all postgres trust |
O que fizemos aqui foi setar uma configuração dizendo que é permitido logar localmente em todos os banco de dados com o usuário postgres sem senha.
6. Feito isso, vamos reiniciar o Postgres para que as configurações tenham efeito:
1 |
sudo service postgresql restart |
7. Agora vamos conectar no Postgres com o usuário postgres sem senha:
1 |
psql -U postgres |
8. Agora vamos executar um comando SQL para podemos configurar a senha do usuário postgres:
1 |
ALTER USER postgres WITH ENCRYPTED PASSWORD '<sua senha>'; |
Não esqueça de trocar <sua senha> pela sua senha 😉
9. Feito isso, vamos sair do Postgres e abrir novamente o arquivo pg_hba.conf (/etc/postgresql/9.5/main/pg_hba.conf)
10. Substitua a linha abaixo que alteramos anteriormente:
1 2 |
# Database administrative login by Unix domain socket local all postgres trust |
Pelo seguinte conteúdo:
1 2 |
# Database administrative login by Unix domain socket local all postgres md5 |
Agora estamos reconfigurando o Postgres para que o login (com o usuário postgres ) seja feito com uma senha encriptada em MD5, por isso que ao alterarmos a senha, nós utilizamos “WITH ENCRYPTED PASSWORD”, para que a senha seja salva em MD5.
11. Agora vamos reiniciar novamente o Postgres
1 |
sudo service postgresql restart |
12. Logar no Postgres com o usuário postgres digitando a senha que foi configurada anteriormente:
1 |
psql -U postgres -W |
13. Agora vamos criar um novo usuário no banco para a aplicação:
1 |
CREATE USER <seu usuario> WITH ENCRYPTED PASSWORD '<sua senha>'; |
Novamente, não esqueça de colocar o seu usuário e sua senha no lugar de <seu usuario> e <sua senha>.
E uma observação importante, o nome do usuário deve estar sem aspas e a senha deve estar com aspas simples.
14. Agora vamos conceder privilégios de super usuário para ele:
1 |
ALTER USER <seu usuario> WITH SUPERUSER; |
Rails
Agora a cereja do bolo e não menos importante, o Rails. Para instalar o Rails vai ser muito simples e para isso precisaremos ter o RubyGems instalado (ele está alguns passos acima).
1. Para instalar a versão 5.2.0, basta executar:
1 |
gem install rails -v 5.2.0 |
No caso de instalar outra versão do Rails, é só substituir o valor 5.2.0 por outra versão da sua preferência 🙂
Conclusão
Este foi um tutorial rápido e concentrado do que tem espalhado pela web. Então, não se esqueça, sempre que precisar reinstalar as dependências do Rails do zero, basta seguir este passo a passo.

Não perca nenhum conteúdo
Receba nosso resumo semanal com os novos posts, cursos, talks e vagas o/
Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!
O OneBitCode traz conteúdos de qualidade, e em português, sobre programação com foco em Ruby on Rails e também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!
Fique por dentro de todos os conteúdos o/
Nossas redes sociais:
📹 • https://youtube.com/Onebitcode [Live todas as terças-feiras às 19h)
💻 • https://linkedin.com/company/onebitcode
🙂 • https://facebook.com/onebitcode
📱 • https://instagram.com/one_bit_code
🐦 • https://twitter.com/onebitcode
Nossos cursos:
🥇 • Programador Full Stack Javascript em 8 Semanas
💎 • Curso Completo de Ruby
⚙ • best free dating sites for plus size women in 2019
🐞 • cuckold dating sites
Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
Estamos aqui para você 🙂
Bem-vindo à família OneBitCode o/
Por que o Redis é uma dependência do Rails? Está certo isso? Ou o Redis é usado pelo PostgreSql? E é opcional ou obrigatório? Obrigado pela ajuda.
Fala Rodrigo, não é uma dependência do Rails nem mesmo do PostgreSQL, você instala se for utilizar em seus projetos.
Para quem teve o erro abaixo no “make test” na instalação do Redis:
You need tcl 8.5 or newer in order to run the Redis test´
Basta instalar o tcl:sudo apt-get install -y tcl`
Oi galera, sou nova neste mundo da programação. E achei genial a iniciativa de vcs sobre criar um app baseado na Netflix. Quero muito participar, mas minha inabilidade não tá ajudando rs.
Seria possível um help?.
Meu Linux Mint dá permissão negada , mesmo no root.
Parei no passo 3 do PostgreSQL
Hug
Oi Marcia, cola o erro aqui, vamos ver.
Oi Guira, obrigada, o Leonardo tá me dando um help.
Quelugar maravilhoso esse aqui, tem pessoas sempre querendo ajudar 😀
Hug
Opa, como vai Marcia?
Fico muito feliz que esteja gostando 🙂
Qual problema você está tendo?
Oi Leonardo, obrigada por dar um help.
Segue a mensagem do terminal
marciacogitare-X45U marciacogitare # /etc/postgresql/9.5/main/pg_hba.conf
bash: /etc/postgresql/9.5/main/pg_hba.conf: Permissão negada
Ei Marcia.
Este arquivo vc precisa abrir e editar.
Tente abrir com
nano
utilizando o comando:sudo nano /etc/postgresql/9.5/main/pg_hba.conf
Se nao conseguir, comenta pra gente aqui de novo : )
Bom dia!
No passo 3 do pgsql , quando tento acessar(executar) o arquivo pg_hba.conf consta que não tenho permissão , mesmo executando chmod 751 para ele o terminal me responde que a operação não é permitida.
Não consigo de modo algum abrir o arquivo para dar sequencia.
Poderiam me ajudar pf?
Boa noite, Victor!
Este arquivo precisa ser aberto. Vc pode utilizar o
nano
pelo comando:sudo nano /etc/postgresql/9.5/main/pg_hba.conf
Se tiver algum outro problema, comenta aqui pra gente de novo : )
root@sam-Notebook:/home/sam/redis-stable# /etc/postgresql/9.5/main/pg_hba.conf
bash: /etc/postgresql/9.5/main/pg_hba.conf: No such file or directory
eu digito isso e não da certo . Parece que meu postgre ta na versão dez e mesmo colocando a versão certa não consigo editar o arquivo e quando eu uso o “nano” aparece um arquivo vazio.
Alguém por favor me ajuda, queria configurar isso o mais rápido possível!! kkkkkkkkkk
Já consegui resolver, agora ta dando outo problema
Opa, Samuel!
Manda pra gente qual é : )
Fala mano, não to consguindo instalar o rails, alguem pode me ajuda? segui passo a passo o tutorial e da esse erro:
pc@pc-pc ~ $ gem install rails -v 5.2.0
ERROR: While executing gem … (Gem::FilePermissionError)
You don’t have write permissions for the /var/lib/gems/2.3.0 directory.
Bom dia, Fabio!
Só umas perguntas pra eu poder me guiar. Você está tentando instalar na sua máquina ou num servidor? Chegou a instalar o RVM? Se sim, instalou a versão básica ou multiuser?
Abraço! : )
Pessoal, bom dia, sou iniciante em linux estou com um problema ao executar o comando:
-sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add –
Aparece para mim:
-sS: comando não encontrado
gpg: nenhum dado OpenPGP válido encontrado.
Bom dia, Caio! Que bom se decidiu se juntar nessa jornada!
Então, o seu comando está incompleto. Está faltando vc acrescentar o comando
curl
no começo dessa linha de execução. O comando é este:curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
Abraço e qualquer outra dúvida só voltar que a gente te ajuda!
Nosa verdade muito obrigado Daniel, funcionou perfeitamente
*Nossa
Aee \o/
Olá!
No passo 13, quando coloco a senha no comando CREATE USER WITH ENCRYPTED PASSWORD
retorna esse erro: psql: FATAL: password authentication failed for user “postgres”
Ei Alicia! Eu creio que o que pode estar acontecendo é o seguite: – Na linha do post tem o comando CREATE USER <seu usuario> WITH ENCRYPTED PASSWORD '<sua senha>'; – Neste caso, vc deve substituir o <seu usuário> pelo nome do usuário que vc desenha criar (sem aspas) e em <sua senha> a senha que vc quer criar pra esse usuário (a senha deve estar dentro das aspas simples). – Então, se eu quiser criar um usuário chamado teste com as senha teste também, eu executaria o comando desse jeito: CREATE USER teste WITH ENCRYPTED PASSWORD 'teste'; Se não… Read more »
Olá, Daniel.
Encontro o mesmo erro, porém antes do passo 13. Na verdade, na transição do passo 12 para o passo 13, logo após reconfigurar o Postgres para que o login seja feito com senha criptografada.
Ei Jéssica. O erro está ocorrendo quando vc tenta criar o usuário ou logar no banco de dados?
Oi Daniel! É na hora de fazer o login. Tentei algumas soluções que encontrei em fóruns mas nada deu certo.
Estou com o mesmo probema.
Ele está dando algum erro específico ou simplesmente não loga?
Fala galera, não teria um tutorial desse para windows ou vocês só vão trabalhar com linux nesse curso?
Olá, Daniel.
Estou com o seguinte problema aqui:
/etc/postgresql/9.5/main/pg_hba.conf
bash: /etc/postgresql/9.5/main/pg_hba.conf: Arquivo ou diretório inexistente
Pode me ajudar?
Obrigada!
E ai Jéssica 🙂
Verifica se a versão que você instalou do postgres não é outra, caso seja, ajuste na rota (por exemplo /etc/postgresql/10.3/main/pg_hba.conf).
\o/
Valeu Leonardo!
A versão é 10.4, mas o erro persiste. Onde mais o arquivo poderia estar?
Obrigada!
Consegui, com /etc/postgresql/10/main/pg_hba.conf, ao invés de 10.4. Agora estou com outro problema que comentei numa pergunta feita por outra pessoa, entre as etapas 12 e 13.
fiz todas as alterações do postgres mas ao restartar e pedir a senha informa que minha senha não funciona.
psql: FATAL: password authentication failed for user “postgres”
deu certo aqui!!! maldito ; não criava a senha pq não estava colocando ele
Obtendo um erro ao usar o rvm use 2.4.4.
Error running ‘requirements_debian_update_system ruby-2.4.4’,
please read /home/perboni/.rvm/log/1542676592_ruby-2.4.4/update_system.log
Requirements installation failed with status: 100.
Na verdade só consegui instalar o rvm, através do:
cd
wget http://ftp.ruby-lang.org/pub/ruby/2.4/ruby-2.4.4.tar.gz
tar -xzvf ruby-2.4.4.tar.gz
cd ruby-2.4.4/
./configure
make
sudo make install
ruby -v
Porém, mesmo assim não consigo usar o rvm.
Alguém tem ideia do que esta acontecendo. Valeu
boa tarde a tods eu estou com um problema nessa parte, na parte (/etc/postgresql/9.5/main/pg_hba.conf).
não consigo abrir o arquivo para editar, alguém pode me ajudar.
Ola
Eu sou usuario de Windows e queria saber se essas dependências também funcionaram no meu pc antes de começar a instalar todas elas
Primeiro nao consigo correr o make test de jeito nenhum, da erro sempre. Tentei avançar para o postgresql e depois de alterar no arquivo para md5, o servido não reinicia de jeito nenhum, não sei mais o que fazer. Já estou há mais de duas horas nisso e não consegui nem configurar as tecnologias necessarias
Daniel, no caso de utilizar o virtualBox é necessario instalar outro software para que haja comunicacao entre o windows e a VM que permita o rails funcionar?
Parabéns Daniel, essa publicação é top, toda vez (tenho um vício ruim de testar distro linux, e não gosto de manter dual )que formato a máquina volto nesse artigo, seguindo os passos ( com exceção do Elementary OS) sempre fica redondinho as configurações! Muito Grato!
Boa tarde estou tendo este erro no vscode ao rodar uma aplicação em rails:
zsh: /mnt/c/Ruby26-x64/bin/rails: bad interpreter: ruby: no such file or director
Fico imaginando a mercadoria que vai dar para este comando:
(sudo curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -)
Se eu esqueci de por o ” – ” que tem no comando , sim o traço no fim do comando.
Pergunto: O estrago vai ser grande?
Eu percebi uma coisa nessa instalação do RVM, se tu fechar o terminal e digitar ruby -v ele vai apresentar uma mensagem informando para instalar o mesmo, então rodo o comando
source ~/.rvm/scripts/rvm e tudo volta a funcionar, tem como resolver isso?
Tente este caminho aqui: https://stackoverflow.com/questions/13246429/i-am-getting-rvm-command-not-found-after-installation-of-rvm/13246505