You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Documenting it for people running into this issue.
Reproduce
(This is an example of how to get the error. Not generally the only way to get it.)
Install JupyterLab 3.1.13, a now old version.
Use NodeJS 17.x.y. (fr example via nvm install 17 and nvm use 17)
Build your extension. (usually involves calling tsc for the TypeScript sources to create JS sources)
Run jupyter labextension install . in the extension directory.
Expected behavior
JupyterLab warns about incompatible NodeJS version.
Actual behavior
$ jupyter labextension install .
Building jupyterlab assets (development)
An error occurred.
RuntimeError: JupyterLab failed to build
See the log file for details: /tmp/jupyterlab-debug-mfatr5lb.log # or similarly named file
However, the log file is empty.
Context
The reason this happens is, that JupyterLab relies on Webpack, which relies on a Hash function, which seems to be relocated or gone in NodeJS 17.
This can be found out using the following commands:
jupyter lab clean
jupyter lab build --minimize=False --dev-build=False
# This will give another log file for the error:
...
An error occurred.
RuntimeError: JupyterLab failed to build
See the log file for details: /tmp/jupyterlab-debug-59rslxx1.log
Which then has an error:
$ webpack --config webpack.prod.config.js
node:internal/crypto/hash:67
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:135:10)
at BulkUpdateDecorator.hashFactory
# ...
The text was updated successfully, but these errors were encountered:
Node 17 incompatibility has been noted here: #11359
This was fixed in master (4.0) in #12350, but older versions are still not compatible, and we're not planning to make them compatible with newer Nodes.
As noted in #11359, the long-term support (LTS) version of Node should be more compatible with JupyterLab. I had success running nvm to switch to Node 14 for the purposes of building JupyterLab 3. Node 14 remains in LTS until 2023-04-30.
Description
Documenting it for people running into this issue.
Reproduce
(This is an example of how to get the error. Not generally the only way to get it.)
3.1.13
, a now old version.17.x.y
. (fr example vianvm install 17
andnvm use 17
)tsc
for the TypeScript sources to create JS sources)jupyter labextension install .
in the extension directory.Expected behavior
JupyterLab warns about incompatible NodeJS version.
Actual behavior
However, the log file is empty.
Context
The reason this happens is, that JupyterLab relies on Webpack, which relies on a Hash function, which seems to be relocated or gone in NodeJS 17.
This can be found out using the following commands:
Which then has an error:
The text was updated successfully, but these errors were encountered: