首页 > 解决方案 > firebase 部署节点“警告:访问不存在的属性”

问题描述

当我运行时,firebase deploy我收到此节点警告:

(node:14802) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency

我尝试firebase deploy --only hostingfirebase 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.jsonpackage-lock.json说8.7.0。

标签: node.jsfirebasefirebase-cli

解决方案


固定的!问题在于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不起作用。


推荐阅读