将 macOS 更新到 Big Sur fastlane 后失败

After updating macOS to Big Sur fastlane fails

我们使用 fastlane 来 运行 CI 工作。必须使用 AdService 框架,为此必须更新 Xcode。为此,必须将 macOS 更新到 Big Sur。更新所有内容后,gitlab CI 停止工作:

$ bundle exec fastlane build
bundler: failed to load command: fastlane (/usr/local/bin/fastlane)
Bundler::GemNotFound: Could not find rake-13.0.3 in any of the sources
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/spec_set.rb:91:in `block in materialize'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/spec_set.rb:85:in `map!'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/spec_set.rb:85:in `materialize'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/definition.rb:170:in `specs'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/definition.rb:237:in `specs_for'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/definition.rb:226:in `requested_specs'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/runtime.rb:108:in `block in definition_method'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/runtime.rb:20:in `setup'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler.rb:107:in `setup'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-1.17.2/lib/bundler/setup.rb:20:in `<top (required)>'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
  /Users/ci/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'

所以我已经尝试过: 在 .bash_profile 添加:

export PATH="$HOME/.fastlane/bin:$PATH"

它没有帮助。尝试过:

sudo gem install fastlane -NV

这也没有帮助。

也尝试过:

fastlane update_fastlane

并且:

bundle install --path vendor/cache

正试图 google 寻求解决方案,但不幸的是无法解决这个问题。我是一名 iOS 开发人员,所以这对我来说是新事物。

知道如何解决这个问题吗?

好的,所以对于那些正在寻找解决方案的人来说,2 天后我终于找到了一个问题。正在挖掘很多,更改,安装,重新安装等。我想尝试一切。

在我的例子中,我使用 bash shell,所以配置 .bash_profile,添加了这些代码行:

export PATH="$HOME/.fastlane/bin:$PATH"
if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

.bashrc有一些路径,我注释掉了,现在只有一行代码:

eval "$(rbenv init -)"

完成后一切正常 P.S。如果您使用 zsh 则文件不同。不是 100% 确定,但检查 .profile.zshrc

我还编辑了 gemfile.lock,因为有些 gems 不是必需的,但我什至不确定是否需要,因为现在我不打算碰 CI,因为它有效 :D

希望将来能为某人节省一些时间。否则,如果有人想添加一些东西,那么欢迎你(有一些解释会更好,因为可能没有多少开发人员知道所有这些疯狂的东西是如何工作的:))