Comments (4)
Isn't that expected?
gem cleanup
will uninstall all old versions of gems, and in this case it removes the older versions of google-cloud-env
which are required for fastlane to work.
If you run gem cleanup
again, it will probably fail again, unless you have also removed the newer version of google-cloud-env
.
Personally I recommend using bundler
and a local cache of your dependencies so that you do not depend on globally installed gems.
from fastlane.
Same issue !
In my opinions, "gem cleanup" is a routine executed command for period time because stack a lot of versions package would effect fastlane performance
And now we can't clean up old version packages, it doesn't make sense
from fastlane.
Yep. I have noticed that if I run fastlane env
, it prints out the basic set
[✔] 🚀 [15:42:56]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile [15:42:57]: Generating fastlane environment output, this might take a few seconds...✅ fastlane environment ✅
Stack
Key Value OS 14.3.1 Ruby 3.3.0 Bundler? false Git git version 2.39.3 (Apple Git-145) Installation Source /opt/homebrew/opt/ruby/bin/fastlane Host macOS 14.3.1 (23D60) Ruby Lib Dir /opt/homebrew/Cellar/ruby/3.3.0/lib OpenSSL Version OpenSSL 3.2.0 23 Nov 2023 Is contained false Is homebrew false Is installed via Fabric.app false Xcode Path /Applications/Xcode15.2.app/Contents/Developer/ Xcode Version 15.2 Swift Version 5.9.2 System Locale
Variable Value LANG en_US.UTF-8 ✅ LC_ALL en_US.UTF-8 ✅ LANGUAGE en_US.UTF-8 ✅ fastlane files:
No Fastfile found
No Appfile found
fastlane gems
Gem Version Update-Status fastlane 2.219.0 ✅ Up-To-Date Loaded fastlane plugins:
No plugins Loaded
Loaded gems
Gem Version error_highlight 0.6.0 did_you_mean 1.6.3 syntax_suggest 2.0.0 addressable 2.8.6 artifactory 3.0.15 jmespath 1.6.2 aws-partitions 1.887.0 aws-eventstream 1.3.0 aws-sigv4 1.8.0 aws-sdk-core 3.191.0 aws-sdk-kms 1.77.0 aws-sdk-s3 1.143.0 babosa 1.0.4 bundler 2.5.6 rexml 3.2.6 CFPropertyList 3.0.6 colored 1.2 highline 2.0.3 commander 4.6.0 dotenv 2.8.1 emoji_regex 3.2.3 excon 0.109.0 faraday-em_http 1.0.0 faraday-em_synchrony 1.0.0 faraday-excon 1.1.0 faraday-httpclient 1.0.1 multipart-post 2.3.0 faraday-multipart 1.0.4 faraday-net_http 1.0.1 faraday-net_http_persistent 1.2.0 faraday-patron 1.0.0 faraday-rack 1.0.0 faraday-retry 1.0.3 ruby2_keywords 0.0.5 faraday 1.10.3 faraday_middleware 1.2.0 domain_name 0.6.20240107 http-cookie 1.0.5 faraday-cookie_jar 0.0.7 fastimage 2.3.0 gh_inspector 1.1.3 google-cloud-env 1.6.0 json 2.7.1 jwt 2.7.1 mini_magick 4.12.0 naturally 2.2.1 optparse 0.4.0 plist 3.7.1 rubyzip 2.3.2 security 0.1.3 simctl 1.6.10 terminal-notifier 2.0.0 unicode-display_width 2.5.0 terminal-table 3.0.2 tty-screen 0.8.2 tty-cursor 0.7.1 tty-spinner 0.9.3 word_wrap 1.0.0 atomos 0.1.3 claide 1.1.0 colored2 3.1.2 nanaimo 0.3.0 xcodeproj 1.24.0 rouge 2.0.7 xcpretty 0.3.0 xcpretty-travis-formatter 1.0.1 set 1.1.0 public_suffix 5.0.4 httpclient 2.8.3 multi_json 1.15.0 signet 0.18.0 os 1.1.4 googleauth 1.8.1 mini_mime 1.1.5 retriable 3.1.2 trailblazer-option 0.1.2 declarative 0.0.20 uber 0.1.0 representable 3.2.0 google-apis-core 0.11.3 google-apis-androidpublisher_v3 0.54.0 google-apis-playcustomapp_v1 0.13.0 rake 13.1.0 digest-crc 0.6.5 google-apis-storage_v1 0.31.0 google-apis-iamcredentials_v1 0.17.0 google-cloud-errors 1.3.1 google-cloud-core 1.6.1 google-cloud-storage 1.47.0 forwardable 1.3.3 logger 1.6.0 pathname 0.3.0 shellwords 0.2.0 cgi 0.4.1 date 3.3.4 timeout 0.4.1 securerandom 0.3.1 uri 0.13.0 openssl 3.2.0 digest 3.1.1 ipaddr 1.2.6 resolv 0.3.0 time 0.3.0 stringio 3.1.0 open-uri 0.4.1 mutex_m 0.2.0 net-http 0.4.1 net-protocol 0.2.2 connection_pool 2.4.1 net-http-persistent 4.0.2 patron 0.13.3 ostruct 0.6.0 english 0.8.0 erb 4.0.4 abbrev 0.1.2 tempfile 0.2.1 delegate 0.3.1 fileutils 1.7.2 tmpdir 0.2.0 base64 0.2.0 singleton 0.2.0 open3 0.2.1 nkf 0.2.0 prettyprint 0.2.0 pp 0.5.0 find 0.2.0 yaml 0.3.0 psych 5.1.2 generated on: 2024-02-16
Then gem list googleauth
lists versions
*** LOCAL GEMS ***
googleauth (1.11.0, 1.8.1)
Now, if I run a command gem cleanup
, it removes some related packages:
Attempting to uninstall google-cloud-storage-1.47.0
Successfully uninstalled google-cloud-storage-1.47.0
Attempting to uninstall google-apis-playcustomapp_v1-0.13.0
Successfully uninstalled google-apis-playcustomapp_v1-0.13.0
Attempting to uninstall google-apis-iamcredentials_v1-0.17.0
Successfully uninstalled google-apis-iamcredentials_v1-0.17.0
Attempting to uninstall google-apis-androidpublisher_v3-0.54.0
Successfully uninstalled google-apis-androidpublisher_v3-0.54.0
Attempting to uninstall google-apis-core-0.11.3
Successfully uninstalled google-apis-core-0.11.3
Attempting to uninstall googleauth-1.8.1
Successfully uninstalled googleauth-1.8.1
Attempting to uninstall google-apis-storage_v1-0.31.0
Successfully uninstalled google-apis-storage_v1-0.31.0
Clean up complete
And gem list googleauth
prints
*** LOCAL GEMS ***
googleauth (1.11.0)
So, it has removed previous version(s), as expected.
And now fastlane env
gives
/opt/homebrew/lib/ruby/site_ruby/3.3.0/rubygems/specification.rb:1474:in `block in activate_dependencies': can't satisfy 'google-cloud-env (>= 1.6.0, < 2.0.0)', already activated 'google-cloud-env-2.1.1' (Gem::LoadError)
from /opt/homebrew/lib/ruby/site_ruby/3.3.0/rubygems/specification.rb:1466:in `each'
from /opt/homebrew/lib/ruby/site_ruby/3.3.0/rubygems/specification.rb:1466:in `activate_dependencies'
from /opt/homebrew/lib/ruby/site_ruby/3.3.0/rubygems/specification.rb:1448:in `activate'
from /opt/homebrew/lib/ruby/site_ruby/3.3.0/rubygems.rb:280:in `block in activate_bin_path'
from /opt/homebrew/lib/ruby/site_ruby/3.3.0/rubygems.rb:279:in `synchronize'
from /opt/homebrew/lib/ruby/site_ruby/3.3.0/rubygems.rb:279:in `activate_bin_path'
from /opt/homebrew/opt/ruby/bin/fastlane:25:in `<main>'
Now, a command gem uninstall fastlane && gem install fastlane
fixes this. We can see that fastlane env
prints out same set (not gonna paste it again), but a command gem list googleauth
gives updated list, with addition 1.8.1:
*** LOCAL GEMS ***
googleauth (1.11.0, 1.8.1)
I am not that expert level that I could proposal fixes, but maybe either lock the gem package googleauth 1.8.1 so cleanup wouldn't remove it as a needed package or then upgrade fastlane to support the latest version of googleauth?
from fastlane.
google-cloud-env
is locked to a version pre-2.0 to support ruby 2.6. We are not able to drop support for ruby 2.6 now due to Apple being stuck with it on its ecosystem. See #21685
This isn't really an issue in itself. The issue is that you are doing things in a way that isn't compatible with keeping different set of dependencies for different project on your machine.
You should really stop managing all your dependencies in one place. Using cleanup
in combination to your setup will keep causing issues.
I recommend that you
- use
bundler
to manage your dependencies per project. Maintain a Gemfile. - consider installing your dependencies in a folder local to your project.
bundle config set --local path '.bundle'
orbundle config set --local path 'vendor/bundle
. Cleanup is thus local to your project. - always run
bundle install
before runningbundle exec fastlane
to make sure your dependencies are up to date.
I'll close this for now, as this isn't really an issue on fastlane side. Hope that helped. Feel free to reopen if you have more question on the topic.
from fastlane.
Related Issues (20)
- No ipa or pkg file given while uploading to app store HOT 7
- [spaceship] incomplete support for tvOS platform HOT 2
- Fastlane could not find action or lane 'get_certificates' HOT 1
- The version number has been previously used.
- `fastlane build_app` is trying to access Development provisioning profiles when run for `appstore` only with Github Actions HOT 5
- Fastlane run_tests fails when attempting to get runtimes
- Generated error ENV HOT 2
- Fastlane `2.219.0` was published without changes. HOT 2
- "ar-SA - Invalid request" when uploading metadata to Play Store with a locale it does not support HOT 1
- gym export_options : {method} resolves into empty string HOT 2
- Documentation for iOS screenshots on Xcode is outdated.
- TestFairy Action Fails with NoMethodError for key? Method on String
- Unable to ^C in response to 'Could not find fastlane ... Would you like to set fastlane up?'
- Match CLI Doc wrong? HOT 1
- [Sigh] Creating tvos provisioning profile fails when fetching devices. HOT 1
- `fastlane build_app` does not apply Flutter Flavor / Xcode Scheme HOT 3
- `fastlane match appstore` fails when generating tvOS profile HOT 2
- cert blocks sig 9
- You appear to have CocoaPods installed but it is not working. HOT 1
- exportArchive app requires a provisioning profile with the Access Wi-Fi Information, Hotspot, and Push Notifications features. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fastlane.