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-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.jsonpackage-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无效。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...