Travis 上的 Firebase 部署错误
Firebase deploy error on Travis
我正在尝试使用 Travis 部署到 Firebase 托管,但出现以下错误:
$ npm install -g firebase-tools
$ firebase --non-interactive deploy --token "${FIREBASE_TOKEN}"
Error: There was an error loading firebase.json:
undefined is not a function
该错误没有帮助,并且看起来像是 firebase-tools
中的错误,或者我以意外的方式调用了它。您认为哪里可能有问题或我应该尝试调查什么?
我的 firebase.json
看起来像:
{
"firebase": "myApp",
"public": "./dist",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
"rules": "./rules.bolt"
}
firebase.json
在根目录中,运行 同样的命令在本地工作正常。
这是我的完整 .travis.yml
:
install:
- npm install
- bower install
script:
- gulp
after_success:
- npm install -g firebase-tools
- firebase --non-interactive deploy --token "${FIREBASE_TOKEN}"
cache:
directories:
- node_modules
- bower_components
我清除了 Travis 上的缓存并确认它是 运行 firebase-tools
版本 2.2.0
。
使用节点0.12
或以上
虽然 Firebase CLI 和 Bolt 编译器都使用节点 0.10
+,但使用 Firebase CLI 编译 Bolt 规则需要节点 0.12
+。
这是因为在节点 0.12
之前没有办法同步调用外部模块,Firebase CLI 需要它来编译 Bolt 规则。
解决那些必须使用节点的问题。10.x - 直接使用 firebase-bolt:
$ firebase-bolt rules.bolt # creates rules.json
在 firebase.json 中使用:"rules": "./rules.json"
解决那些必须使用节点的问题。10.x - 直接使用 firebase-bolt:
$ firebase-bolt rules.bolt # creates rules.json
在 firebase.json 中使用:"rules": "./rules.json"
我正在尝试使用 Travis 部署到 Firebase 托管,但出现以下错误:
$ npm install -g firebase-tools
$ firebase --non-interactive deploy --token "${FIREBASE_TOKEN}"
Error: There was an error loading firebase.json:
undefined is not a function
该错误没有帮助,并且看起来像是 firebase-tools
中的错误,或者我以意外的方式调用了它。您认为哪里可能有问题或我应该尝试调查什么?
我的 firebase.json
看起来像:
{
"firebase": "myApp",
"public": "./dist",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
"rules": "./rules.bolt"
}
firebase.json
在根目录中,运行 同样的命令在本地工作正常。
这是我的完整 .travis.yml
:
install:
- npm install
- bower install
script:
- gulp
after_success:
- npm install -g firebase-tools
- firebase --non-interactive deploy --token "${FIREBASE_TOKEN}"
cache:
directories:
- node_modules
- bower_components
我清除了 Travis 上的缓存并确认它是 运行 firebase-tools
版本 2.2.0
。
使用节点0.12
或以上
虽然 Firebase CLI 和 Bolt 编译器都使用节点 0.10
+,但使用 Firebase CLI 编译 Bolt 规则需要节点 0.12
+。
这是因为在节点 0.12
之前没有办法同步调用外部模块,Firebase CLI 需要它来编译 Bolt 规则。
解决那些必须使用节点的问题。10.x - 直接使用 firebase-bolt:
$ firebase-bolt rules.bolt # creates rules.json
在 firebase.json 中使用:"rules": "./rules.json"
解决那些必须使用节点的问题。10.x - 直接使用 firebase-bolt:
$ firebase-bolt rules.bolt # creates rules.json
在 firebase.json 中使用:"rules": "./rules.json"