Shopify / Shopify/ruby-lsp

Provide --update-server command from executable

Open
#3,124 2 comments 0 reactions 1 assignee View on GitHub

@Hungle2911 is already working on this.

Since Feb 28, 2025.

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

Description

The relationship between the global ruby-lsp executable version vs the server version that actually gets run is often a source of confusion to users. Additionally, if some other gem is constraining our upgrades, users sometimes have trouble identifying which gem is holding back the upgrade.

On top of those, users with relative paths in their Bundler settings don't have a very easy way to upgrade because Bundler considers the Gemfile path to be the root of everything. If you have BUNDLE_PATH=vendor/bundle, then running this

BUNDLE_GEMFILE=.ruby-lsp/Gemfile bundle update ruby-lsp

Will install gems in .ruby-lsp/vendor/bundle because the path becomes relative to the Gemfile. All of this is not great and we can provide better tools for upgrades and diagnosing issues.

Let's add a ruby-lsp --update-server command that will simply run bundle update using our composed environment, with all Bundler settings turned into absolute paths (which is what we do while regular composition). Furthermore, if a gem is preventing the upgrade, it would be awesome if we could inform the user about which one it is.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.