Node.js中Inquirer无法安装及运行问题求助
问题解决:Cannot find module './internal/Observable' 及依赖漏洞问题
问题描述
我用TypeScript/JavaScript开发计算器,运行npm start时触发以下错误:
PS C:\Users\RanaG\Desktop\TS Projects\project00_calculator\tsconfig.json-master\tsconfig.json-master\src> npm start npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead. > tsconfig.json@1.0.7 start > node src/index.js node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module './internal/Observable' Require stack: - C:\Users\RanaG\Desktop\TS Projects\project00_calculator\tsconfig.json-master\tsconfig.json-master\node_modules\rxjs\index.js - C:\Users\RanaG\Desktop\TS Projects\project00_calculator\tsconfig.json-master\tsconfig.json-master\node_modules\inquirer\lib\ui\prompt.js - C:\Users\RanaG\Desktop\TS Projects\project00_calculator\tsconfig.json-master\tsconfig.json-master\node_modules\inquirer\lib\inquirer.js - C:\Users\RanaG\Desktop\TS Projects\project00_calculator\tsconfig.json-master\tsconfig.json-master\src\index.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (C:\Users\RanaG\Desktop\TS Projects\project00_calculator\tsconfig.json-master\tsconfig.json-master\node_modules\rxjs\index.js:3:20) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\RanaG\\Desktop\\TS Projects\\project00_calculator\\tsconfig.json-master\\tsconfig.json-master\\node_modules\\rxjs\\index.js', 'C:\\Users\\RanaG\\Desktop\\TS Projects\\project00_calculator\\tsconfig.json-master\\tsconfig.json-master\\node_modules\\inquirer\\lib\\ui\\prompt.js', 'C:\\Users\\RanaG\\Desktop\\TS Projects\\project00_calculator\\tsconfig.json-master\\tsconfig.json-master\\node_modules\\inquirer\\lib\\inquirer.js', 'C:\\Users\\RanaG\\Desktop\\TS Projects\\project00_calculator\\tsconfig.json-master\\tsconfig.json-master\\src\\index.js' ] } PS C:\Users\RanaG\Desktop\TS Projects\project00_calculator\tsconfig.json-master\tsconfig.json-master\src>
安装inquirer时收到提示:
PS C:\Users\RanaG\Desktop\TS Projects\project00_calculator\tsconfig.json-master\tsconfig.json-master\src> npm install inquirer npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead. changed 40 packages, and audited 599 packages in 1m 40 packages are looking for funding 40 packages are looking for funding run `npm fund` for details 13 vulnerabilities (1 moderate, 9 high, 3 critical) To address issues that do not require attention, run: npm audit fix To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details.
已尝试相关仓库的解决方案,但问题未解决。
解决方案
1. 修复rxjs模块缺失问题
该错误源于rxjs安装不完整或版本与inquirer依赖不兼容,执行以下步骤:
- 删除
node_modules文件夹和package-lock.json文件:
Windows PowerShell下执行:Remove-Item -Recurse -Force node_modules, package-lock.json - 清理npm缓存:
npm cache clean --force - 重新安装所有依赖:
npm install
2. 指定兼容的rxjs版本
若重新安装无效,手动指定与inquirer兼容的rxjs版本(多数旧版inquirer适配rxjs 6.x):
npm install rxjs@6.x --save
3. 处理依赖漏洞
- 先执行无破坏性的基础修复:
npm audit fix - 若基础修复无法解决所有问题,且可接受潜在代码变更,再执行强制修复:
npm audit fix --force - 若强制修复引发新问题,可逐个升级存在漏洞的包,或查看包的官方文档寻找替代方案。
内容的提问来源于stack exchange,提问作者RanaRabees
相关产品推荐
相关产品推荐

