Fastlane 不断警告我正在使用 Ruby 2.2.4
Posted
技术标签:
【中文标题】Fastlane 不断警告我正在使用 Ruby 2.2.4【英文标题】:Fastlane keeps warning that I am using Ruby 2.2.4 【发布时间】:2019-08-19 16:29:42 【问题描述】:我已经通过rvm
更新到 Ruby 2.5.5,但我仍然收到来自 Fastlane 的警告。就上下文而言,我正在 Max OSX 上构建一个 ios 应用程序,并通过自制软件 brew cask install fastlane
安装了 Fastlane。我在网上和 github repo 中搜索了 Fastlane,但找不到真正的解决方案。
$ ruby -v
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin18]
这是 Fastlane 的输出
这里有一个 ruby 2.2.4,我假设 Fastlane 正在使用它,但我不清楚升级它的正确方法是什么,或者我是否有一些环境变量可以设置让 Fastlane 选择较新的版本。
~/.fastlane/bin/bundle/bin/ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-darwin15]
如何让 Fastlane 选择正确版本的 Ruby?
或者,这些警告是否可以安全忽略?
编辑:
这是我的fastlane env
堆栈
| --------------------------- | ------------------------------------------- |
| OS | 10.14.6 |
| Ruby | 2.2.4 |
| Bundler? | false |
| Git | git version 2.22.0 |
| Installation Source | ~/.fastlane/bin/bundle/bin/fastlane |
| Host | Mac OS X 10.14.6 (18G87) |
| Ruby Lib Dir | ~/.fastlane/bin/bundle/lib |
| OpenSSL Version | OpenSSL 1.0.2g 1 Mar 2016 |
| Is contained | false |
| Is homebrew | true |
| Is installed via Fabric.app | false |
| Xcode Path | /Applications/Xcode.app/Contents/Developer/ |
| Xcode Version | 10.3 |
【问题讨论】:
fastlane env
给你什么?这应该表明 Fastlane 至少在哪里寻找 Ruby。
你是如何执行你的车道的 - 你在运行什么命令?
我在上面添加了fastlane env
。我正在运行fastlane ios alpha
,alpha
是我在 Fastfile 中定义的车道名称。这回答了你的问题吗?
我的理解是 Homebrew 安装方法捆绑了那个版本的 Ruby。您是否尝试过从 Homebrew 卸载并使用 RubyGems 重新安装? github.com/fastlane/fastlane/issues/14212
您可以使用 Homebrew 或 RVM 管理 Ruby - 它们不会混合使用。
【参考方案1】:
当您通过自制软件安装 fastlane 时,它包含自己的 ruby 版本,正如您所见。但是,如果您通过gem install fastlane
安装 fastlane,它将从rvm
获取 ruby 版本。所以这种情况下的解决方案是卸载fastlane,重新安装为gem。完成后,您可以再次运行 fastlane env
,您应该会看到它获取了预期的 ruby 版本。
感谢this thread 上的人的回答。
希望对您有所帮助。
【讨论】:
【参考方案2】:我最近几天都在用这个,因为它不会更新 fastlane,这就是我能够修复它的方法。这是我发现的以及我所做的对我有用的事情
使用 sudo 命令运行 install 和 gem
命令会将其放入 usr/local/bin 文件夹中,并且您必须具有 root 权限才能更新 fastlane,而您不希望这样。 Brew 捆绑了一个不正确的 ruby 版本,它也不会让你更新。我最终得到了两个我需要摆脱的安装,然后以正确的方式完成工作。我正在运行 Catalina,所以我需要更改我的 ~/.zshrc
文件,但我认为更改 ~/.profile
或 ~/.bash_profile
应该对旧版本的 OSX 执行相同的操作。
您可能不必做所有这些,我昨天很生气,最终安装了多个。如果其中一些内容不存在或出错,请注意。
这是我所做的:
我从 brew brew cask uninstall fastlane
卸载了 fastlane
然后我进入我的用户文件夹并删除了.fastlane
文件夹
我运行fastlane env
来捕捉我的第二次安装并查看了Installation Source
并从该位置删除了fastlane 命令。
然后我运行 fastlane
并没有找到命令
现在编辑您的 bash 或 zshrc 文件以添加
export PATH=$PATH:~/.gems/bin
export GEM_HOME=~/.gems
保存,关闭并重启终端
运行gem install fastlane -NV
。不要使用须藤!它安装回 usr/local/bin 并且您不希望这样。如果您这样做,fastlane 将无法更新
安装完成后,运行fastlane env
并确保安装位置在~/.gems/..
中,如果需要,运行fastlane update_fastlane
以确保您收到Nothing to Update 消息,而不是担心需要sudo。
希望这有效或对其他人有所帮助。
【讨论】:
以上是关于Fastlane 不断警告我正在使用 Ruby 2.2.4的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Ruby 测试 Fastlane 中的目录是不是已存在