Kali环境下启动OWASP Juice Shop时npm start报错求助
解决Kali中OWASP Juice Shop启动失败的问题
问题根源
当前系统Node.js版本(对应NODE_MODULE_VERSION 93,即Node.js 16.x)与Juice Shop 9.3.1依赖的libxmljs2模块编译版本(对应NODE_MODULE_VERSION 64,即Node.js 14.x)不兼容,且该版本Juice Shop不支持当前Node.js版本,导致npm install提示Unsupported engine、npm start启动失败。
解决方案
方法1:用nvm管理Node.js版本(推荐)
nvm可快速切换Node版本,规避系统版本冲突:
- 安装nvm:
sudo apt update sudo apt install nvm source /usr/share/nvm/init-nvm.sh - 安装兼容的Node.js 14.x版本并切换:
nvm install 14 nvm use 14 - 清理旧依赖并重新部署:
cd /home/kali/Downloads/juice-shop_9.3.1 rm -rf node_modules package-lock.json npm install npm start
方法2:手动降级系统Node.js版本
直接替换系统默认Node版本为兼容版本:
- 卸载当前Node.js:
sudo apt remove --purge nodejs npm sudo apt autoremove - 下载并安装Node.js 14.x:
wget https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz sudo tar -xJf node-v14.21.3-linux-x64.tar.xz -C /usr/local --strip-components=1 rm node-v14.21.3-linux-x64.tar.xz - 验证版本后重新安装依赖:
node -v # 确认输出v14.21.3 cd /home/kali/Downloads/juice-shop_9.3.1 rm -rf node_modules package-lock.json npm install npm start
方法3:强制安装依赖(应急方案)
若不想切换版本,可尝试忽略版本检查并重新编译模块:
cd /home/kali/Downloads/juice-shop_9.3.1 rm -rf node_modules package-lock.json npm install --force npm rebuild libxmljs2 npm start
内容的提问来源于stack exchange,提问作者Cyberfreak
相关产品推荐
相关产品推荐

