jupyter lab build失败,提示需要安装版本>=12.0.0的nodejs但其实已从官网安装18.17.0版本 的解决方法

出现的问题如题目所示,这个问题差点要把我搞死了。。。但还是在没有重装的情况下解决了😘。

问题来源

初衷是想安装lsp扩展,直接在jupyter lab网页界面的extensions中搜索lsp并点击install @krassowski/jupyterlab-lsp,会提示需要先在命令行进行 pip install jupyter-lsp 或者使用 conda install jupyter-lsp ,如果已经安装,点击继续的话,会接着出现提示 需要安装 node.js 或 npm 作为前提。

由于直接在conda环境中安装 nodejs 和 npm 非常慢,于是我选择去官网安装,中文英文的官网都行,我用的这个nodejs中文官网,直接选择长期维护版下载即可:

下载的是一个 .msi 文件,双击安装,并选择将 nodejs 添加到系统变量中,nodejs的安装就算完成了。由于 nodejs 自带 npm,因此 npm 也不需要单独安装了。

判断安装成功与否,在命令行输入 node -v 和 npm -v 查看版本号,能看到的就是安装好了,我的版本号如下:

jupyter lab build失败,提示需要安装版本>=12.0.0的nodejs

但根据上面的内容,我其实已经从官网安装过18版本的nodejs了。

查看conda环境中的nodejs 和npm版本,发现确实还是 0.1.1 的版本,这里我尝试了很多网上的方法,比如直接 conda install 或者 conda install -c forge 最新版本的nodejs什么的,甚至我尝试使用 msi 文件在conda里本地安装,想把我虚拟环境里的包版本提上去,最后当然是失败了。

总之,基本上看到的方法我都用过了,包括升级jupyterlab,还是不行,差点要重装。

解决方法

最后的解决方法是 :既然整体环境中是有 nodejs 和 npm 的,而 conda 环境又是优先 本环境内的包,那我直接把本环境里低版本的包删掉不就好了?不用升级,不用忍受慢的要死的conda 网速直接 conda uninstall nodejs。

(这部分因为当时只是本电脑菜鸡的尝试,因此没有截图记录)

经过上述步骤后,在命令行进行 jupyter lab build 时还是报错了,但起码没有 nodejs>=12.0.0 的提示报错,也是一个进步!

不报错 nodejs >= 12.0.0 相关的 Runtime Error,转而报错 RuntimeError: JupyterLab failed to build,问题解决:

观察 jupyter labextension list ,看最后一行,发现只有 lsp 插件是待 build 的。如下图:

这个问题的解决方案,插件的作者也给出了回答:https://stackoverflow.com/questions/68276261/runtimeerror-jupyterlab-failed-to-build,先 uninstall,升级 jupyterlab,再重新 pip install 即可。但其实这一步我好像没有升级 jupyter lab,直接在命令行 install lsp之后,我查看了一下jupyter lab的版本,发现从 3.0 自动升级成了 3.6.5,我也不知道咋回事。

把不准的uu还是可以按作者给出的方法来,保险一点。

后续问题

发现不能通过在命令行直接 jupyter lab 的方式打开 lab,发现报错:
AttributeError: 'ExtensionManager' object has no attribute '_extensions'

查看过程中的报错提示会发现如下内容:

可见最后一行的 nbclassic 是关键,查看自己的 nbclassic 版本后发现是 0.2.6 的。

这个问题的解决方案参考macos启动jupyter lab 错误:attributeerror: 'extensionmanager' object has no attribute '_extensions'

直接在命令行 pip install nbclassic == 0.2.8 即可:

完结撒花🎇🎇🎇

这下再直接 jupyter lab,就可以打开了,享受插件吧!

要使用 drawio,新建一个 Launcher,点击 diagram 即可

打开之后是下面这样:

相关推荐
Learn-Python8 小时前
MongoDB-only方法
python·sql
小途软件9 小时前
用于机器人电池电量预测的Sarsa强化学习混合集成方法
java·人工智能·pytorch·python·深度学习·语言模型
扫地的小何尚9 小时前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
Eason_Lou9 小时前
webstorm开发vue项目快捷跳转到vue文件
ide·vue.js·webstorm
2501_941881409 小时前
高并发消息队列设计与优化策略在多语言系统中的实践分享
jupyter
wanglei2007089 小时前
生产者消费者
开发语言·python
清水白石00810 小时前
《从零到进阶:Pydantic v1 与 v2 的核心差异与零成本校验实现原理》
数据库·python
昵称已被吞噬~‘(*@﹏@*)’~10 小时前
【RL+空战】学习记录03:基于JSBSim构造简易空空导弹模型,并结合python接口调用测试
开发语言·人工智能·python·学习·深度强化学习·jsbsim·空战
2501_9418779810 小时前
从配置热更新到运行时自适应的互联网工程语法演进与多语言实践随笔分享
开发语言·前端·python
酩酊仙人10 小时前
fastmcp构建mcp server和client
python·ai·mcp