node.js - firebase 部署节点“警告:访问不存在的属性”
问题描述
当我运行时,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 包npm-check
。我跑了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。
解决方案
固定的!问题在于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
不起作用。
推荐阅读
- javascript - 有没有我可以使用 mongo 在节点 js 中查询下一个集合?
- regex - json schema 可以验证多个正则表达式并返回不同的错误信息吗?
- ruby-on-rails - 在 Ruby 上为哈希编写自定义方法?在铁轨上
- python - 带有属性而不是元素的 Json 到 XML
- python - Pandas 日期时间数据框
- netbeans - 如何将 eclipseLink 添加到 netbeans 12?
- ios - 如何创建 App Store 风格的导航栏
- google-cloud-storage - Firebase 存储桶仅授予对某些国家/地区的访问权限,而不授予对其他国家/地区的访问权限
- tf.keras - 如何更新 tf.keras model.metric_names
- javascript - 在 ExpressJS 应用程序中使用 Busboy 上传多个文件