NativeScript / NativeScript/nativescript-cli

Error for invalid min runtime version in a plugin is misleading

未关闭
#3,987 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

to-be-checked
主要语言
JavaScript
星标
1.1k
派生
204
平均合并
1 天 9 小时
30 天内合并 PR
8

描述

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

  • CLI: 5.0.0-2018-10-08-12406

Describe the bug
When installing a plugin with wrong min runtime version (e.g. "next") the error that is thrown while building the app is misleading.

To Reproduce

  1. Clone the nativescript-ui-listview plugin repo
  2. Change the nativescript-android and ios versions in src/package.json file to next
  3. Pack the plugin with sh pack.sh
  4. Add the plugin to one of the demos (e.g. cd demo-angular && tns plugin add ../publish/package/*.tgz)
  5. Execute tns run android
Preparing project...
Executing before-prepareJSApp hook from /Users/dtodorov/SSD/nativescript-ui-listview/demo-angular/hooks/before-prepareJSApp/nativescript-dev-webpack.js
Successfully prepared plugin nativescript-angular for android.
Successfully prepared plugin nativescript-fresco for android.
Successfully prepared plugin nativescript-theme-core for android.
Unable to apply changes on device: emulator-5554. Error is: Processing node_modules failed. TypeError: Invalid Version: next.
Building project...
Gradle build...
Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/dtodorov/SSD/nativescript-ui-listview/demo-angular/platforms/android/app/build.gradle' line: 65

* What went wrong:
A problem occurred evaluating project ':app'.
>
  'dependencies.json' file not found. Check whether the NativeScript CLI has prepared the project beforehand,
  and that your NativeScript version is 3.3, or a more recent one. To build an android project with the current
  version of the {N} CLI install a previous version of the runtime package - 'tns platform add android@3.2'.


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
Unable to apply changes on device: 01a5bd7074a39516. Error is: Command ./gradlew failed with exit code 1.

Expected behavior
The error should point what exactly is the issue, which are supported formats and shouldn't proceed with build.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

按照列出的步骤复现该失败,先从 src/package.json 中的版本值和 pack.sh workflow 开始,然后从 demo-angular 运行 tns run android。跟踪 CLI 在构建开始前处理插件最低 runtime 版本的位置。完成标准是:诸如 "next" 之类的无效值会产生直接的验证错误,列出支持的格式并停止构建。

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript
领域
cli, mobile-dev
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
38/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。