我已经制作了一个fastlane插件的分支,并在本地克隆中进行了一些更改。如何测试更改?
在插件目录中我完成了我的更改
$ bundle install
$ rake install
我有一个使用该插件的项目,并尝试从
更改插件文件gem "fastlane-plugin-msbuild"
到
gem "fastlane-plugin-msbuild", path: "../../github/fastlane-plugin-msbuild"
在项目目录中,我已经完成了
$ bundle install
并且本地文件系统的分叉插件可以正常使用。这也反映在Gemfile.lock
中在forked插件中,我更新了版本号以便能够跟踪它。
但是当我跑快跑时
$ bundle exec fastlane android beta
使用"使用过的插件"仍然陈述旧的版本号,我可以从执行中看到使用原始插件。
我做错了什么?在本地测试fastlane插件的正常方法是什么?
我在macOS Sierra(10.12.6)。
答案 0 :(得分:3)
这基本上是正确的。几个笔记:
rake install
在$GEM_HOME
下安装已修改插件的本地副本。您应该能够以这种方式使用修改过的插件,而无需对项目中的Pluginfile
进行任何更改。但是每次进行更改时都必须rake install
。修改Pluginfile
,因为忽略了$GEM_HOME
中的任何内容,因此不需要rake install
。
$
的摘录中gem
之前有Pluginfile
。我认为这只是转录,并且您在$
中没有使用Pluginfile
。如果你是,你应该删除它。
假设这一切都正确,你应该从本地分叉中获取已卸载的gem。
是否有可能在其他地方声明插件gem,例如在Gemfile
?
您还可以尝试运行bundle update
,这会将Gemfile.lock
中的所有宝石更新为最新版本,具体取决于Gemfile
和Pluginfile
中的要求。这也将从本地fork获取gem,但它也应该与bundle install
一起使用。
您问题的简短回答是您正确行事。我不确定为什么它不起作用。
答案 1 :(得分:2)
借助Jimmy Dee的见解,我终于找到了问题:fastlane在〜/ .fastlane中安装了自己的宝石
这似乎是fastlane在使用安装程序时想要放置它的东西的默认位置。我可能已经安装了多个fastlane。我认为我使用的那个是在/ usr / local中,这就是bundle所在的地方以及我在安装rake时我的插件所在的位置。
我只是完全删除了〜/ .fastlane目录并且它有效。