emacs-lsp / lsp-sourcekit

lsp-mode :heart: Apple's sourcekit
https://emacs-lsp.github.io/lsp-sourcekit
GNU General Public License v3.0
103 stars 13 forks source link

Emacs 25 incompatibility #12

Closed thomasdeniau closed 3 years ago

thomasdeniau commented 3 years ago

Hi, I'm using Ubuntu 18.04 LTS, which comes with emacs 25.2.2 Installing lsp-sourcekit fails with Package 'emacs-26.1' is unavailable.

After some investigation, it looks like emacs 25 support was removed from lsp-mode: https://github.com/emacs-lsp/lsp-mode/issues/1668

Could we pin this package to an older version of lsp-mode?

danielmartin commented 3 years ago

Thomas Deniau notifications@github.com writes:

Hi, I'm using Ubuntu 18.04 LTS, which comes with emacs 25.2.2 Installing lsp-sourcekit fails with Package 'emacs-26.1' is unavailable.

After some investigation, it looks like emacs 25 support was removed from lsp-mode: https://github.com/emacs-lsp/lsp-mode/issues/1668

Could we pin this package to an older version of lsp-mode?

Could you upgrade to a recent version of Emacs? Emacs 27.1 has native JSON parsing, and that will improve the performance of lsp-mode/lsp-sourcekit significantly.

If upgrading Emacs is not an option, the problem I see is that MELPA does not keep old versions of packages, unfortunately, and I see the lsp-mode version we have in MELPA stable also requires 26.1. You'll need to keep a local copy of lsp-mode >= 5.0 that still supports Emacs 25.2. You can download old versions of lsp-mode from here: https://github.com/emacs-lsp/lsp-mode/releases

(You can use the Emacs command package-install-file to install a package from a compressed file.)

You'll probably want to modify the user option package-archives to contain your local directory for packages:

(add-to-list 'package-archives '("my-local-package-archive" . "/path/to/local-archive") t)

And it's a good idea to pin the old lsp-mode package with something like this in your init file:

(add-to-list 'package-pinned-packages '(lsp-mode . "my-local-package-archive")

Hope this helps.

thomasdeniau commented 3 years ago

Thanks a lot! I can't upgrade emacs for all sorts of reasons (I'm setting up a contest machine), but the pinned packages trick is perfect.