当我运行firebase deploy
时,我收到以下节点警告:
(node:14802) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
我尝试了firebase deploy --only hosting
和firebase deploy --only functions
并收到了相同的错误消息,所以它不是我的代码。
我跑了node --trace-warnings ...
并得到了
internal/modules/cjs/loader.js:1083
throw err;
^
Error: Cannot find module '/Users'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1080:15)
at Function.Module._load (internal/modules/cjs/loader.js:923:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
这似乎表明问题不在我的代码中。
我尝试了Node v14.8.0(最新版本),v14.1.0和v12.8.5。
运行firebase tools --version
,我得到6.3.1。最新版本是8.7.0。我每周至少使用npm-check
更新我的所有npm软件包。我运行了npm i firebase-tools
,它说它已安装8.7.0,但是当我运行firebase tools --version
时,仍然看到6.3.1。我还运行了npm install -g firebase-tools
,它仍然停留在6.3.1上。如何从6.3.1切换到8.7.0?
package.json
和package-lock.json
说8.7.0。
答案 0 :(得分:3)
已修复!问题是firebase tools
尽管已定期更新并安装了8.7.0,但仍停留在6.3.1上。我跑了
curl -sL firebase.tools | upgrade=true bash
现在firebase tools --version
表示8.7.0。
firebase deploy --only hosting
可以工作,但是要使firebase deploy --only functions
可以工作,我必须进入functions
文件夹,打开package.json
,然后进行更改
"engines": {
"node": "8"
},
到
"engines": {
"node": "10"
},
我不知道为什么定期更新firebase tools
无效。