ijavascript不是jupyter官方内核,需先安装node.js(lts版),再执行npm install -g ijavascript和ijsinstall两步注册;kernel.json中argv必须为绝对路径,否则报ijskernel找不到。

ijavascript 是 Jupyter Notebook 官方支持的 Node.js 内核,不是「Node.js 内核」本身——Jupyter 不直接运行 Node.js,而是通过 ijavascript 这个封装好的 kernel 来调用本地已安装的 Node.js 进程。所以真正要装的是 ijavascript,且它强依赖系统级 Node.js 环境。
确认 Node.js 已正确安装并可用
ijavascript 启动时会调用系统命令 node,如果 node -v 或 npm -v 在终端报错或找不到命令,ijsinstall 一定失败,后续 kernel 也无法启动。
- 运行
node -v和npm -v,必须输出版本号(建议 LTS 版本,如 v20.15.1) - Windows 用户注意:不要只靠双击安装包,默认可能没勾选「Add to PATH」,需手动检查环境变量
- macOS/Linux 用户若用
nvm,确保当前 shell 中node可见(nvm use --delete-prefix v20后再装,避免ijsinstall拿到错误版本)
ijavascript 安装与内核注册必须分两步执行
全局安装 ijavascript ≠ 自动注册为 Jupyter 内核。很多人卡在「装完了但 Notebook 里看不到选项」,就是因为漏了 ijsinstall。
- 先执行
npm install -g ijavascript - 再执行
ijsinstall(不是npm run ijsinstall,也不是python -m ijavascript) - 如果提示
command not found: ijsinstall,说明 npm 全局 bin 路径没进系统 PATH,查npm config get prefix,把bin目录加进 PATH 再重试
Windows 用户常见坑:ijsinstall 有时因权限失败,建议以管理员身份打开命令提示符或 PowerShell 再运行。
kernel 启动报 FileNotFoundError: [Errno 2] No such file or directory: 'ijskernel'
这个错误不是 ijavascript 没装好,而是 Jupyter 找不到 ijskernel 可执行文件——它应该由 ijsinstall 自动生成并写入 kernel spec 的 argv 字段。
- 运行
jupyter kernelspec list,找到javascript或类似名称的内核路径 - 进入该目录,打开
kernel.json - 检查
"argv"数组第一项是否为绝对路径(例如/usr/local/lib/node_modules/ijavascript/lib/kernel.js),而不是"ijskernel"这种裸命令 - 如果是裸命令,说明
ijsinstall没成功生成完整 spec,直接删掉整个内核目录:jupyter kernelspec remove javascript,再重新ijsinstall
macOS 上还可能出现 zmq 编译失败导致 ijskernel 缺失,此时需先 npm install -g zeromq(注意:不是 pyzmq,那是 Python 的)。
多 Python 环境下,ijavascript 仍走系统 Node.js
和 Python kernel 不同,ijavascript 不绑定任何 Python 虚拟环境——它只认系统 PATH 里的 node。你用 conda 创建的 Python3.9 环境里装 ijavascript,和 base 环境装,效果完全一样。
- 想切换 Node.js 版本?改用
nvm use 18后再运行ijsinstall,生成的 kernel 就会绑定 v18 - 不要试图在某个 conda 环境里
conda install nodejs来“隔离” Node.js——Jupyter 不认这个,只会找 PATH 里的node
真正麻烦的点在于:kernel.json 里硬编码了 node 路径,一旦你升级或重装 Node.js,旧 kernel 很可能直接失效,得手动删掉重装。











