tree-sitter / tree-sitter-bash

Bash grammar for tree-sitter
MIT License
215 stars 66 forks source link

Install fails if python is not installed #188

Open webpro opened 1 year ago

webpro commented 1 year ago

Just received this report: https://github.com/webpro/knip/issues/209

Maybe it's just me, but the python requirement wasn't clear to me when installing tree-sitter-bash. Could it be an issue specific to this Docker environment? Are prebuilt binaries available?

When I look at https://github.com/tree-sitter/tree-sitter-bash/tree/master/bindings it seems rust bindings have been updated with 0.20.0, but not the node bindings. Maybe something was forgotten when releasing 0.20.0? This release is also not listed on https://github.com/tree-sitter/tree-sitter-bash/releases currently.

webpro commented 1 year ago

Also see https://github.com/webpro/knip/issues/211 and specifically https://github.com/webpro/knip/issues/211#issuecomment-1686608054

webpro commented 1 year ago

Thanks, @amaanq.

I don't see the assets with either v0.20.0 or v0.20.2 (this one also doesn't have a release at all, only a tag), is there another mechanism now?

amaanq commented 1 year ago

I added the "pack.yml" ci file which was meant to run when a release is created, but it did not, I could use some help figuring that out as I'm not well-versed in the CI/nodejs stuff

webpro commented 1 year ago

No worries, we're all in this together. I got some advice here: https://github.com/webpro/knip/issues/211#issuecomment-1690160583

For my own lib I just reverted back to the previous solution, no worries there.

Wish I could help you out here, but I don't have any experience with such releases/binaries for platforms, ets.

amaanq commented 1 year ago

yeah one solution could be Max uploading the binaries

(paging @maxbrunsfeld)

webpro commented 1 year ago

Should we reopen this issue?

I'm also interested to know about how tree-sitter-node + tree-sitter-bash is supposed to be used as a dependency in projects like Knip. I just installed the deps + import them, did I miss something? (Here's what I did: https://github.com/webpro/knip/compare/93fecdabcdcc2324c69256bce3d886cbc3fb8046...ef3981f9a8386088db148f2ecd23348e69500381)

I didn't encounter any issues on my own (macOS) machine and in the macos-latest, ubuntu-latest, windows-latest GitHub Action environments, but that's not the whole story for everyone (removed lines for brevity):

npm ERR! prebuild-install warn install No prebuilt binaries found (target=18.16.1 runtime=node arch=x64 libc= platform=linux)
...
npm ERR! gyp info using node@18.16.1 | linux | x64
...
npm ERR! make: g++-10: No such file or directory

After reading https://github.com/webpro/knip/issues/211#issuecomment-1690160583 and following the links I'm confused as to what environments exactly are supported.

Looking at the docs in this repo maybe this is more of a tree-sitter-node issue, but those docs also led me to believe there's no extra steps involved.

A "wontfix" is also an answer, but at this point I have no idea what to expect.