Skip to content

docs: Add dependency management guidance - #67

Open
benrkia wants to merge 1 commit into
mainfrom
ilbe/doc-default-gem-conflict-65
Open

docs: Add dependency management guidance#67
benrkia wants to merge 1 commit into
mainfrom
ilbe/doc-default-gem-conflict-65

Conversation

@benrkia

@benrkia benrkia commented Jul 31, 2026

Copy link
Copy Markdown

Issue #, if available:
Closes #65

Description of changes:
The managed runtime ships the AWS SDK and its transitive dependencies at specific versions. If a customer's Gemfile.lock pins a different version of an SDK transitive dependency (e.g. bigdecimal), they will encounter Gem::LoadError on function init.

Target (OCI, Managed Runtime, both):

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

The managed runtime ships the AWS SDK and its transitive dependencies
at specific versions. If a customer's Gemfile.lock pins a different
version of an SDK transitive dependency (e.g. bigdecimal), they will
encounter Gem::LoadError on function init.

Closes #65

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds documentation to help Ruby Lambda customers avoid Bundler Gem::LoadError issues caused by version mismatches between gems pre-activated in the managed runtime (via the preinstalled AWS SDK and default gems) and versions pinned in Gemfile.lock.

Changes:

  • Added a new “Dependency Management” section describing how runtime-provided gem versions can conflict with a pinned lockfile.
  • Provided mitigation steps (avoid incompatible pins, update the lockfile, or switch to a deployment model with full dependency control).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
To avoid this:

- **Do not add version constraints** on transitive dependencies of the SDK in your Gemfile. Refer to the [`aws-sdk-core` gemspec](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/aws-sdk-core.gemspec) for the current list.
- If you encounter a version conflict after a runtime update, **re-run `bundle install`** to update your lockfile to match the current runtime, then redeploy.
Comment thread README.md

To avoid this:

- **Do not add version constraints** on transitive dependencies of the SDK in your Gemfile. Refer to the [`aws-sdk-core` gemspec](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/aws-sdk-core.gemspec) for the current list.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ruby 3.3 managed runtime pre-activates bigdecimal 4.0.1, causing Gem::LoadError for bigdecimal 3.x

2 participants