【问题标题】:Does the self-contained version of fastlane support dev builds?fastlane 的独立版本是否支持开发版本?
【发布时间】:2017-11-09 02:23:08
【问题描述】:

当使用从 Homebrew 安装的 fastlane 版本时,我不知道如何使用插件的开发版本。我看到fastlane add_plugin 仍然会生成一个插件文件。如果我尝试使用:path 参数添加gem "fastlane-plugin-xxx", git: "https://github.com/yyy/xxx" 或类似的东西,它总是会尝试从RubyGems 安装版本。

我有两个具体的情况,这会让事情变得不方便:

  1. 我正在为客户构建一个新插件。我希望移动开发者在发布之前对其进行内部审核。
  2. 用户报告了发布插件的错误。我希望他们从 master 分支尝试开发版本以获取更多信息。

在这两种情况下,我认为有必要使用 Ruby 和 Bundler。不是每个人都有丰富的 Ruby 经验,所以让别人设置可能是一个障碍。

2017-07-06 编辑:

部分答案是显而易见的。当你运行fastlane add_plugin时,它会提示你是否找不到gem:

[jdee@Jimmy-Dees-MacBookPro TestApp]$ fastlane add_plugin my_new_action
[10:46:28]: Seems like the plugin is not available on RubyGems, what do you want to do?
1. Git URL
2. Local Path
3. RubyGems.org ('fastlane-plugin-my_new_action' seems to not be available there)
?  

这适用于 fastlane gem,例如使用 RVM:

gem install fastlane
fastlane add_plugin my_new_action

来自 Homebrew 的自包含二进制文件还会提示您输入 Git URL 或本地路径,但我一直在 OS X Sierra 上的 json gem 中的本机扩展中遇到构建失败。这可能是由于插件依赖关系,但我不确定。对于上面的用例来说,这仍然有点尴尬,我很惊讶自包含版本失败了,我希望它比使用 Ruby 更健壮。至少这消除了对 bundle install 和 bundle exec 的需要。

【问题讨论】:

    标签: plugins fastlane


    【解决方案1】:

    这里的答案基本上是 Fastlane 的自包含版本并不能真正与插件一起使用。特别是fastlane add_pluginfastlane install_plugins运行bundle install时,会尝试安装json gem,fastlane gem的一个依赖,有native依赖,却找不到<stdio.h>,大概是因为/usr/include是在自包含的捆绑包中筛选出来,以使其与系统 Ruby 隔离。在此之后,您可以自己运行 bundle installbundle exec,但通常需要 Gemfile 才能使用 Fastlane 插件。一旦你有了 Gemfile,CLI 甚至会告诉你运行 bundle exec

    当使用fastlane gem 时,fastlane add_plugin 通常可以工作,但你将再次拥有一个 Gemfile 并想在之后运行bundle exec fastlane

    您可以修改您的插件文件以使用路径或 git 存储库并重新运行 bundle install。目前没有更简单的方法可以做到这一点。

    【讨论】: