aws / aws/aws-lambda-base-images
Got error if Ruby default gem version mismatched
- Dominant language
- No language data
- Stars
- 777
- Forks
- 118
- PR merge metrics
- No merged PRs in 30d
Description
## Runtime
`ruby3.2`
## Step to reproduce
Use `faraday` gem `v2.9.0` which makes `uri` gem as a dependency
* `sam build --use-container` has default gem `uri` with version `0.13.0`
* `sam local invoke` or on the Lambda has default gem `uri` with version `0.12.1`
Add `gem 'uri', '0.12.1'` in the Gemfile the `sam build` will be failed. But use `gem 'uri', '0.13.0'` then `sam local invoke` will be failed.
We cannot make workaround to lock version because the runtime image and build image version is mismatched.
## Message
```json
{
"errorMessage": "You have already activated uri 0.12.1, but your Gemfile requires uri 0.13.0. Since uri is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports uri as a default gem.",
"errorType": "Init",
"stackTrace": [
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/runtime.rb:304:in `check_for_activated_spec!'",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/runtime.rb:25:in `block in setup'",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/spec_set.rb:165:in `each'",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/spec_set.rb:165:in `each'",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/runtime.rb:24:in `map'",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/runtime.rb:24:in `setup'",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler.rb:162:in `setup'",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/setup.rb:23:in `block in '",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/ui/shell.rb:159:in `with_level'",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/ui/shell.rb:111:in `silence'",
"/var/lang/lib/ruby/site_ruby/3.2.0/bundler/setup.rb:23:in `'",
":86:in `require'",
":86:in `require'",
"/var/task/config/app.rb:3:in `'",
":86:in `require'",
":86:in `require'"
]
}
```
Contributor guide
Assessment
This issue has not been assessed yet.