Introdução
Recentemente, enfrentei um problema ao tentar configurar o Solargraph no VS Code enquanto utilizava o WSL2 e o ASDF para gerenciar versões do Ruby. Os projetos legados que eu estava trabalhando usavam Docker, o que causava conflitos com as versões do Ruby e resultava em erros ao inicializar o servidor. Após muita pesquisa e tentativa e erro, consegui resolver o problema. Aqui está um guia passo a passo para ajudar outros desenvolvedores que possam estar enfrentando a mesma situação.
Disclaimer
O caminho mais fácil para resolver problemas de versão de Ruby seria modificar o arquivo .tool-versions
do projeto para usar uma versão do Ruby compatível com o Solargraph. No entanto, em ambientes legados, essa modificação pode não ser possível devido a dependências específicas do projeto ou restrições impostas pela equipe de desenvolvimento. Portanto, este guia fornece uma solução alternativa que não requer mudanças no arquivo .tool-versions
.
Passo a Passo para Resolver o Problema
Pré-requisitos
- WSL2 instalado: Siga as instruções oficiais da Microsoft para configurar o WSL2.
- VS Code instalado: Baixe e instale o VS Code.
- Distribuição Linux no WSL2: Por exemplo, Ubuntu.
Passo 1: Configure o Ruby no WSL2 com ASDF
- Instale o ASDF: No terminal do WSL2, execute os seguintes comandos:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.0
echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc
echo '. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
source ~/.bashrc
- Adicione o plugin Ruby e instale uma versão do Ruby:
asdf plugin-add ruby https://github.com/asdf-vm/asdf-ruby.git
asdf install ruby 3.3.2 # Substitua pela versão necessária
asdf global ruby 3.3.2
- Verifique a instalação do Ruby:
ruby -v
Passo 2: Instale o Solargraph
- Instale o Solargraph:
gem install solargraph
- Verifique a instalação do Solargraph:
which solargraph
Passo 3: Configure o VS Code para Usar o WSL2
- Instale a Extensão "Remote - WSL": No VS Code, abra o Marketplace de Extensões e instale a extensão Remote - WSL.
- Abra o VS Code no WSL2: No terminal do WSL2, navegue até o diretório do seu projeto e abra o VS Code:
code .
Passo 4: Configure o Solargraph no VS Code
-
Adicione a configuração no
settings.json
: No VS Code aberto no ambiente WSL2, abra o Command Palette (Ctrl+Shift+P
ouCmd+Shift+P
), procure por "Preferences: Open Settings (JSON)" e adicione a seguinte configuração:
{
"solargraph.commandPath": "/home/seu_usuario/.asdf/shims/solargraph",
"solargraph.useBundler": false,
"solargraph.diagnostics": true,
"solargraph.formatting": true
}
Substitua /home/seu_usuario/.asdf/shims/solargraph
pelo caminho retornado pelo comando which solargraph
.
- Reinicie o VS Code: Reinicie o VS Code para aplicar as novas configurações.
Solução de Problemas
Verifique as permissões e caminhos: Certifique-se de que o caminho especificado para o Solargraph no
settings.json
está correto e acessível.Logs do VS Code: Verifique os logs do VS Code para mais detalhes sobre o erro. Acesse os logs através do Command Palette (
Ctrl+Shift+P
-> "Output") e selecione "Solargraph" no menu de saída.
Conclusão
Com esses passos, você deve conseguir configurar o Solargraph no VS Code utilizando a versão do Ruby gerenciada pelo ASDF no ambiente WSL2, sem a necessidade de modificar o arquivo .tool-versions
do projeto. Espero que este guia seja útil para resolver problemas semelhantes que você possa encontrar no seu ambiente de desenvolvimento Ruby.
Top comments (1)
Parabéns pelo artigo 🚀