Shopify / Shopify/ruby-lsp

Unintuitive process for re-enabling VSCode extension after a Ruby update

Open
#2,411 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug help-wanted pinned
Dominant language
Ruby
Stars
2k
Forks
281
Avg merge
2h 14m
Merged PRs (30d)
6

Description

Description

System: Ubuntu 24.04
Shell: Zsh
Ruby version: 3.3.4
Ruby version manager: rbenv
IDE: VSCode

Reproduction

After updating my project's Ruby version from 3.3.1 to 3.3.4, the extension stopped working with the following error:

2024-08-05 16:22:52.632 [info] (api) rbenv: ruby-lsp: command not found

2024-08-05 16:22:52.648 [info] (api) 
The `ruby-lsp' command exists in these Ruby versions:

2024-08-05 16:22:52.649 [info] (api)   3.2.1
  3.2.2
  3.3.0
  3.3.1

Uninstalling, restarting extensions and reinstalling the extension didn't work.
Closing and reopening the project window did not work (although I didn't fully close vscode, there was another project open, maybe a full restart would have worked?)

Using ctrl+shift+p -> Update language server gem command in VS Code fixed the issue.

I think the extension expected the ruby-lsp gem to be already installed through the custom gemfile inside .ruby-lsp, and wasn't prepared for this. Regular bundle install did nothing because it only works for gems in the project's gemfile.

Ultimately it took me around 20 minutes to figure it out, not a big deal, but it could have been more, and there could be a way to improve this, either through code or documentation

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository files or tests are named. Reproduce the Ruby 3.3.1-to-3.3.4 update with rbenv in VSCode, compare the failed startup with the successful “Update language server gem” command, and determine whether the fix should be documented or handled by the extension; done means the re-enabling process is clear or works automatically.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby, ubuntu, vscode, zsh
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.