Nativescript 2.5.0 更新后插件安装挂起

Plugin installation hangs after Nativescript 2.5.0 update

Nativescript 2.5.0 版有什么重大变化吗?

由于我自己的错误。我由于疏忽不小心卸载了 Nativescript 并重新安装它,使我的版本从 2.4.1(我相信)到 2.5.0。在此过程中,我损坏了我的工作文件。

构建一个新的似乎工作正常,但是 2.5.0 带来了足够多的变化(可能对 app/package.json 文件)我无法安装nativescript-plugin-firebase 插件。它就像开始安装的图片一样挂起,但没有典型的 console.log 信息。 See picture. 无论是通过 nativescript CLI 安装还是通过在 root/package.json 文件中将其设置为依赖项,都没有完成构建。我注意到的一件事是 tns build android 也会将版本更新到 2.5.0。

我什至尝试将整个 package.json 文件设置为我之前使用的版本,并使用 tns update 设置 nativescript 版本。

有没有办法让我重新安装 Nativescript 2.4.1 作为我的主要安装?

似乎插件本身会安装所有内容,但不会安装脚本文件夹中的文件。他们也从不提示我创建 firebase.nativescript.json 文件。

这是 运行 tns create [MYAPP] --ng 之后的当前 package.json 文件 root/package.json

{
  "description": "NativeScript Application",
  "license": "SEE LICENSE IN <your-license-filename>",
  "readme": "NativeScript Application",
  "repository": "<fill-your-repository-here>",
  "nativescript": {
    "id": "org.nativescript.[MYAPP]"
  },
  "dependencies": {
    "@angular/common": "2.4.3",
    "@angular/compiler": "2.4.3",
    "@angular/core": "2.4.3",
    "@angular/forms": "2.4.3",
    "@angular/http": "2.4.3",
    "@angular/platform-browser": "2.4.3",
    "@angular/platform-browser-dynamic": "2.4.3",
    "@angular/router": "3.4.3",
    "nativescript-angular": "1.4.0",
    "nativescript-theme-core": "~1.0.2",
    "reflect-metadata": "~0.1.8",
    "rxjs": "~5.0.1",
    "tns-core-modules": "^2.4.1"
  },
  "devDependencies": {
    "nativescript-dev-android-snapshot": "^0.*.*",
    "nativescript-dev-typescript": "~0.3.5",
    "typescript": "~2.1.0",
    "zone.js": "~0.7.2"
  }
}

和 app/package.json 文件

{
  "android": {
    "v8Flags": "--expose_gc"
  },
  "main": "main.js",
  "name": "tns-template-hello-world-ng",
  "version": "2.5.0"
}

"firebase plugin hangs" 问题似乎是由新的 NativeScript 2.5 CLI 未处理提示用户配置选项的 firebase 插件引起的。

您可以在 Github Issue 上找到该插件的背景故事。

快速解决方法是在项目的根目录下创建一个 firebase.nativescript.json 文件,并启用您想要的功能。例如,我只使用 android 和 google_auth,所以我的看起来像这样:

{
    "using_ios": false,
    "using_android": true,
    "remote_config": false,
    "messaging": false,
    "crash_reporting": false,
    "storage": false,
    "facebook_auth": false,
    "google_auth": true
}

一旦您使用所需的配置创建了该文件,您就可以愉快地 运行 tns plugin add nativescript-plugin-firebase 并且它将完成,因为 CLI 不再需要提示功能。