NativeScript / NativeScript/nativescript-cli

iOS cloud build failure: "No project found at or above '/private/tmp/builds/_/[...]'"

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

还没有人认领这个 Issue。

needs more info
主要语言
JavaScript
星标
1.1k
派生
204
平均合并
1 天 9 小时
30 天内合并 PR
8

描述

Environment

  • CLI: 5.0.0-2018-10-05-12399 (Ubuntu 16.04 LTS)
  • Cross-platform modules: 4.2.1
  • Android Runtime: 4.2.0
  • iOS Runtime: 4.2.0
  • Plugin(s): package.json

Describe the bug
Local android builds succeed and install on an emulator with no issues. However, cloud build ios fails with the following error:

{after-prepare hooks and other normal stuff beforehand}

  ios Build Tooling revision 2018.08.08.1r
  Build Tooling Hostname administrators-mac-4.local
 App package not specified. Skipping unzip step.
  NativeScript CLI version 4.1.2
 Add platform ios with runtime version 4.2.0

Support for macOS 10.12 is deprecated and will be removed in one of the next releases of NativeScript. Please, upgrade to the latest macOS version.
 No project found at or above `/private/tmp/builds/_/ec0244e90d63acff1f57a805419368be2c1ae7f3/4.1.2/4.2.0/Antem2' and neither was a --path specified.
 # tns platform add
==========
┌──────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Usage                    │ Synopsis                                                                                                                                        │
│ Android latest runtime   │ $ tns platform add android [--framework-path <File Path>] [--symlink] [--sdk <API Level>] [--platform-template <Platform Template>]             │
│ Android selected runtime │ $ tns platform add android[@<Version>] [--framework-path <File Path>] [--symlink] [--sdk <API Level>] [--platform-template <Platform Template>] │
│ iOS latest runtime       │ $ tns platform add ios [--framework-path <File Path>] [--symlink]                                                                               │
│ iOS selected runtime     │ $ tns platform add ios[@<Version>] [--framework-path <File Path>] [--symlink] [--platform-template <Platform Template>]                         │
└──────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Configures the current project to target the selected platform. 
### Options
    * --framework-path - Sets the path to a NativeScript runtime for the specified platform that you want to use instead of the default runtime. If --symlink is specified, <File Path> must point to directory in which the runtime is already extracted. If --symlink is not specified, <File Path> must point to a valid npm package.
    * --symlink - Creates a symlink to a NativeScript runtime for the specified platform that you want to use instead of the default runtime. If --frameworkPath is specified, creates a symlink to the specified directory. If --frameworkPath is not specified, creates a symlink to platform runtime installed with your current version of NativeScript.
    * --sdk - Sets the target Android SDK for the project.
    * --platform-template - Sets the platform template that will be used for the native application.
### Attributes
    * <API Level> is a valid Android API level. For example: 17, 19, MNC.
    * <File Path> is the complete path to a valid npm package or a directory that contains a NativeScript runtime for the selected platform.
    * <Platform Template> is a valid npm package, path to directory, .tgz or GitHub URL that contains a native Android or iOS template.
    * <Version> is any available version of the respective platform runtime published in npm.
No project found at or above '/private/tmp/builds/_/ec0244e90d63acff1f57a805419368be2c1ae7f3/4.1.2/4.2.0/Antem2' and neither was a --path specified.

Build failed.

Local android builds succeed with no issue.

To reproduce
Define following alias (split between multiple lines for legibility):

alias cloudbuild='echo -n "Enter password for Certificates.p12: " &&
read -s && echo &&
tns cloud build ios
    --accountId=1 --bundle --env.uglify --env.production --env.snapshot --release
    --certificate="/home/potassiumion/Downloads/Certificates.p12"
    --provision="/home/potassiumion/Downloads/Antem_Distribution.mobileprovision"
    --certificatePassword=$REPLY'

--provision and --certificate options link to valid files and --certificatePassword is correct

Run cloudbuild in root folder

I have tried using different nativescript versions as well, to no avail.

Expected behavior
Build should succeed and spit back an .ipa. Local android builds do work as expected.

Project structure
Project structure

Additional context
Gist with log and package.json

贡献指南

打开贡献指南

从这里开始

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

调研方向

报告中没有指定源文件或测试。首先,从项目根目录使用文档中说明的 CLI 和证书选项重现 tns cloud build ios,然后跟踪报告中所述的项目缺失路径。当云构建找到项目并生成预期的 .ipa 时,即表示完成。

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

评估

技术栈
ios, javascript
领域
cli, cloud, mobile
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
30/100

把新 issue 发到你的邮箱

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