Closed5
VSCodeのエラー「`Failed to start Solargraph:`」の対処への過程
事象
VSCodeで"~.rb
"ファイルを開くと、「Failed to start Solargraph
」エラーが発生。
エラーの原因を探っていく。
エラーの原因を探る
"which solargraph
" 実行ファイルの検索
masa@DESKTOP-0CNPS43:~/environment/RailsTutorial$ which solargraph
/mnt/c/Ruby27-x64/bin/solargraph
実行ファイルはある。
"solargraph -v
" バージョン確認
masa@DESKTOP-0CNPS43:~/environment/RailsTutorial$ solargraph -v
bash: /mnt/c/Ruby27-x64/bin/solargraph: C:/Ruby27-x64/bin/ruby.exe: bad interpreter: No such file or directory
「bad interpreter: No such file or directory
」というエラーが発生。
上記エラーメッセージで検索すると、Windows環境にあるファイルの改行コードがCRLFになっており、それをLFに直すと大丈夫そうとのこと。
なので、CRLFをLFに修正する。
参考
CRLFをLFに修正する。
Windows上のC:/Ruby27-x64/bin/ruby.exe
の改行コードをCRLFからLFに変換しようとしたが、そもそもWSLのUbuntuにsorarglaphをインストールしてそれを使えばよいのではないかという考えにいたった。
ので、参考サイトをみながら、Rubyをインストールする。
Rubyをインストールする。
前準備
# apt パッケージの情報を最新にする
sudo apt update -y
# Ubuntu にインストールされているソフトウェアを最新にする
sudo apt upgrade -y
# Ruby のビルドに必要なパッケージを apt 経由でインストールする
sudo apt install build-essential -y
sudo apt install -y libssl-dev libreadline-dev zlib1g-dev
# PostgreSQL をインストール
sudo apt-get install postgresql-common
sudo apt-get install libpq-dev
Rubyインストール
# rbenv(パッケージ管理ツール)をインストール
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
# 環境変数にPathを設定
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
# シェルを再起動
exec $SHELL -l
# ruby-buildをインストール
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
# Rubyをインストール
rbenv install 2.7.2
rbenv global 2.7.2
Rails 6 以降で必要になった Node.js をインストール
# node.js, npmをインストール
sudo apt install -y nodejs npm
# n packageをインストール
sudo npm install n -g
# n packageを使ってnodeをインストール
sudo n stable
# 最初に入れた古いnode.js, npmを削除
sudo apt purge -y nodejs npm
# 再ログイン
exec $SHELL -l
# yarn packageをインストール
sudo npm install yarn -g
# node.js のバージョンが最新か確認
node -v
Gemfileをインストール
# rails をインストールするために bundle install
bundle install --path vendor/bundle
Rubyのインストールが完了したので、再度VSCodeを開くと、エラー「WSL Daemon exited with code 0
」が発生した。
よって、それを調べる。
参考
このスクラップは2021/01/08にクローズされました