Open Tralen opened 4 years ago
It worse with vscode. If your ~/.profile
uses [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx &> .debug_x
vscode is just broken, there is no fix, but it's a vscode issue not a ghcup issue.
This feels like an advisory notice for LSP plugin authors to me. Does there exist an appropriate place in project documentation to slot this in?
@IronGremlin I think the section about configuring editors could be a good place to put the suggestion: https://github.com/haskell/haskell-language-server#configuring-your-editor (in the initial section before the specific ones for each editor)
This is a frequent source of confusion and bad experience for users, it seems there are a dozen of ways to extend the PATH, depending on os (linux or macos), used shell (bash, zhs, etc) and windows manager. So it is necessary add it to trouebloshooting imo
As a example a recent issue in the vsocde extension: https://github.com/haskell/vscode-haskell/issues/492
//cc @michaelpj
Greetings,
I got this message when running ghcide with Sublime Text 3:
I realize this is due to Sublime picking the PATH from
.profile
and not from.bashrc
, so it was easy to solve. However, ghcup instructs the user to add the ~/.cabal/bin and ~/.ghcup/bin paths to.bashrc
, preferentially, and the same is true for stack, so I believe this is what most people do.Other graphical editors load the environment the same way and I suspect the issue will reappear over and over. So I suggest an amendment to the install or troubleshooting section, please correct it if it is wrong.
Path
Your editor must be able to find all needed executables (ghcide, ghc, cabal-install, stack...) in the Path environment it uses. If you get errors that mention:
does not exist (No such file or directory)
, verify that your Path is correct.If you are using a graphical editor (Atom, VS Code, Sublime Text...) make sure the Path is set in the file from where the environment is loaded. Those editors may read only
.profile
and not.bashrc
, unless they are launched from the terminal.