
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
⚙ • Minicurso: API Rails 5 Completo
🐞 • Minicurso de Testes para Ruby on Rails com RSpec
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/


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

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?

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
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.

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.

Nosa verdade muito obrigado Daniel, funcionou perfeitamente

*Nossa

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”

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.
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/

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

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?
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.