全局安装firebase-tools后无法运行CLI命令,提示模块找不到
Firebase CLI 模块缺失问题解决指南
问题详情
我通过以下命令全局安装了Firebase CLI:
npm install -g firebase-tools
但执行firebase init等命令时出现模块缺失错误:
firebase node:internal/modules/cjs/loader:444 throw err; ^ Error: Cannot find module 'C:\Users\12155\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\socks-proxy-agent\dist\index.js'. Please verify that the package.json has a valid "main" entry at tryPackage (node:internal/modules/cjs/loader:436:19) at Module._findPath (node:internal/modules/cjs/loader:678:18) at Module._resolveFilename (node:internal/modules/cjs/loader:1061:27) at Module._load (node:internal/modules/cjs/loader:920:27) at Module.require (node:internal/modules/cjs/loader:1141:19) at require (node:internal/modules/cjs/helpers:110:18) at Object.<anonymous> (C:\Users\12155\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\pac-proxy-agent\dist\index.js:39:29) at Module._compile (node:internal/modules/cjs/loader:1254:14) at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) { code: 'MODULE_NOT_FOUND', path: 'C:\\Users\\12155\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\node_modules\\socks-proxy-agent\\package.json', requestPath: 'socks-proxy-agent' } Node.js v18.16.0
问题始于我重复执行全局安装命令(此前CLI可正常使用),尝试过卸载重装、删除Firebase CLI文件夹均无效。安装时还收到权限相关警告:
>npm install -g firebase-tools npm WARN tar TAR_ENTRY_ERROR EPERM: operation not permitted, unlink 'C:\Users\12155\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\socks-proxy-agent\dist\index.js.DELETE.12e9f100a7307238826cd2a1e93e2ca4' npm WARN tar TAR_ENTRY_ERROR UNKNOWN: unknown error, open 'C:\Users\12155\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\socks-proxy-agent\node_modules\agent-base\dist\index.js' npm WARN tar TAR_ENTRY_ERROR UNKNOWN: unknown error, open 'C:\Users\12155\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\proxy-agent\node_modules\agent-base\dist\index.js' npm WARN tar TAR_ENTRY_ERROR EPERM: operation not permitted, unlink 'C:\Users\12155\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\pac-resolver\dist\index.js.DELETE.ceb31c0dc58c707624f6211476b72eb4' npm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN tar TAR_ENTRY_ERROR EPERM: operation not permitted, unlink 'C:\Users\12155\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\get-uri\dist\index.js.DELETE.006f3dd7d637272339a132b0d45dcb9d' npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
使用系统为Windows。
解决步骤
1. 以管理员身份运行终端
右键「命令提示符」或「Windows Terminal」,选择以管理员身份运行,避免权限不足导致文件无法修改或删除。
2. 彻底清理Firebase CLI残留
- 执行卸载命令:
npm uninstall -g firebase-tools - 手动删除残留文件:
打开文件管理器,导航到C:\Users\12155\AppData\Roaming\npm\node_modules,删除firebase-tools文件夹;同时删除C:\Users\12155\AppData\Roaming\npm下的firebase.cmd、firebase.ps1等快捷文件。
3. 清理npm缓存
执行命令清除损坏的缓存包:
npm cache clean --force
4. 重新安装Firebase CLI
在管理员终端中执行安装命令:
npm install -g firebase-tools
如果仍出现权限警告,可指定自定义安装路径(避开系统权限限制):
npm install -g firebase-tools --prefix C:\your\custom\install\path
之后需将该路径下的bin目录(如C:\your\custom\install\path\bin)添加到系统环境变量PATH中。
5. 验证安装
执行命令确认安装成功:
firebase --version
若能正常输出版本号,即可尝试firebase init等命令。
内容的提问来源于stack exchange,提问作者Legend27
相关产品推荐
相关产品推荐

