-
Notifications
You must be signed in to change notification settings - Fork 337
Wrangler is not compatible with Node.js 17 / OpenSSL 3.0 #2108
Comments
This looks to be a problem with webpack 4 (which wrangler uses when |
I ran into this issue at Workers Sites. https://github.com/cloudflare/worker-sites-template/blob/master/wrangler.toml It is exactly the same as the information so far. |
Could you file an issue over there as well? We should change that template to stop using webpack. |
Would you consider a new minor version in the meantime with the easier workaround described here? Just use the |
Oh I'm glad to see there's a workaround from the node side! I'll be happy to accept a PR, I think this might be the only place for a change https://github.com/cloudflare/wrangler/blob/master/src/wranglerjs/mod.rs If no one from the community gets to this, we'll probably get it done ourselves next week. |
See #2108: Node 17 uses openssl 3 by default, which is not compatible with webpack 4. This change adds a check to see if the user is running node 17, and if they are, we add the appropriate flag to the call to node (https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V17.md#openssl-30)
@EatonZ hey! I pushed some code which should fix this issue (see #2116). Could you try it out and see if it solves your problem? Just checkout the PR and run I'm testing the change and we'll get a review on it from someone else at cloudflare as well, but I figured you might want to give it a go yourself. |
@caass Thanks! I installed Rust and ran that command, but it's not compiling successfully:
|
@EatonZ ack! i think that's an issue with the rust bindings to openssl? It looks similar to this issue, so I think you'll need to install the openssl lib? Or maybe force cargo to use default features when you install it, which i think it should anyway but you can see here where the |
@caass Installing Strawberry Perl got everything working. |
@EatonZ awesome, i'm glad! thanks for reporting the bug and providing resources on how to fix it :) very cool |
See #2108: Node 17 uses openssl 3 by default, which is not compatible with webpack 4. This change adds a check to see if the user is running node 17, and if they are, we add the appropriate flag to the call to node (https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V17.md#openssl-30)
Be aware that if you are running webpack directly (e.g. as part of the TypeScript workers template) you will still see this error, when you run things like The workaround in this case, rather than downgrading to node 16, is to add the node flag to the
|
🐛 Bug report
Describe the bug
Node.js 17 was released today and brings OpenSSL 3.0 support. The Node.js 17 release notes mention potential cases where
ERR_OSSL_EVP_UNSUPPORTED
errors may occur, and that is what is happening here.Reproduce the bug
wrangler publish
Expected behavior
No error should occur, and the publish command should succeed.
Environment and versions
Fill out the following information about your environment.
wrangler -V
: wrangler 1.19.4node -v
: v17.0.0wrangler.toml
: (should not be needed in this case)The text was updated successfully, but these errors were encountered: