ruby - 将 macOS 更新到 Big Sur faSTLane 后失败

标签 ruby fastlane

我们使用 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

试图用谷歌搜索解决方案,但不幸的是无法解决。我是 iOS 开发人员,所以这对我来说是新事物。

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

最佳答案

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

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

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

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

eval "$(rbenv init -)"

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

我还编辑了 gemfile.lock,因为有些 gem 不是必需的,但我什至不确定是否需要它,因为现在我不会接触 CI,因为它可以工作 :D

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

关于ruby - 将 macOS 更新到 Big Sur faSTLane 后失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68737321/

相关文章:

python - 在 Python 中可以不使用继承来实现混合行为吗?

FaSTLane 设置选项自动值

azure-devops - FaSTLane 错误 : The software asset has already been successfully delivered

ruby-on-rails - Rails - 如何使用祖先创建嵌套路线

iOS 构建在 GitHub Actions 上失败(没有 faSTLane),但它间歇性地工作

firebase - 通过 FaSTLane 将 dSYMS 上传到 Firebase

ios - FaSTLane 匹配 build adhoc 和 appstore

ruby-on-rails - Redmine/Ruby/Rails/Postgresql - 无法加载此类文件 -- pg_ext

ruby - Sinatra 上传流式传输

ruby - Redis-rb 将哈希插入列表