The author of janet-lsp explained that it is better to use the "binscript" than the static executable for janet-lsp.
This means that if your end user is using a different version of Janet than the one you used to package the LSP, they could get different results from running a .janet script using their installed binary of Janet vs what the LSP will report as diagnostic errors. I would think this is more of an issue when the user is using a NEWER version of Janet, since that copy of Janet will have symbols in the standard library that the LSP version of Janet will not recognize (and therefore give errors about).
As you can see, its not that janet-lsp as a static executable stops working. Its that it stops agreeing with the installed janet.
I'd rather avoid such confusion.
The janet-lsp.jimage file is installed in LOCAL_BASE/lib/janet where other janet libs go. Because the image has its dependencies this will not cause problems if other ports want to install different versions of the dependencies. Think of it as fully linked "janet bytecode".
I can't seem to tease jpm(1) into using the right paths so I took the file it generates and made a janet-lsp.in for the two line "binscript". And now of course, janet-lsp does have a runtime dependency on janet.