-
Notifications
You must be signed in to change notification settings - Fork 13
Use external Node.js installation via PyPI wheels #182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
A blocker early into the implementation: We would still need to address how to make Now, when we'll create a virtual environment using Then, even if we do so, https://github.com/njzjz/nodejs-wheel/blob/4dfd45dbffbe412dc216746eb71ec1fc73d8ed50/nodejs_wheel/executable.py uses subprocesses, which won't work... their implementation is in contrast to my approach, where I use the |
Never mind – the tests passed, and I'm not sure how. :D |
...and it doesn't work, as we don't have wasm32 binaries on PyPI or on jsDelivr:
Here, we don't particularly need a wasm32 wheel for https://pypi.org/search/?q=+nodejs-wheel-binaries, just a Linux or macOS wheel that gets installed into the venv despite the incompatibility (either through At this point, I think that this is something that isn't worth doing, unless we want to be super hacky. I'd say it's okay to include a bunch of hacks as we've discussed elsewhere, but this one feels too quirky. We could easily ask users to install Node.js externally and globally, whether it is through Homebrew, https://github.com/njzjz/nodejs-wheel, or whichever package manager they use on their system. What do you think, @hoodmane? |
I don't understand this. Why is it needed to install nodejs inside the pyodide venv? I thought we need to install it in the host environment. I'm personally against including Node.js in pyodide-build, for the same reason I'm against including emscripten in pyodide-build. If Node.js is supported by a package with enough trusted people and users (like |
Description
This PR swaps out our Node.js dependency by including the (unofficial) binaries from PyPI: https://github.com/njzjz/nodejs-wheel. This means that
pyodide venv
's Python interpreter should no longer need to rely on an Node.js installation.Closes #119