Skip to content

Specifying a version to install requires newer dependencies than specified, which breaks on older systems #7057

@nabeards

Description

@nabeards

Checkboxes for prior research

Describe the bug

I have a legacy project that requires node version 14. I know this version is no longer officially supported, but this is actually an issue with just installation, not use. Installing the last version of the SDK that supports nodejs version 14 doesn't work due to dependency issues.

Install and resulting error:
yarn add @aws-sdk/[email protected]
error @aws-sdk/[email protected]: The engine "node" is incompatible with this module. Expected version ">=18.0.0". Got "14.18.1"

I installed that same version into another project using a later nodejs version, and found that multiple dependencies somehow force-require later versions (3.804). Below is the full module dependency tree. For example, you'll see that later versions of lower dependencies are being required, [email protected], [email protected], [email protected], etc. I would expect installing a specific version would work.

└─┬ @aws-sdk/[email protected]
  └─┬ @aws-sdk/[email protected]
    ├─┬ @aws-sdk/[email protected]
    │ └─┬ @aws-sdk/[email protected]
    │   ├─┬ @aws-crypto/[email protected]
    │   │ ├─┬ @aws-crypto/[email protected]
    │   │ │ └── @aws-sdk/[email protected] deduped
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├─┬ @aws-crypto/[email protected]
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├─┬ @aws-sdk/[email protected]
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├─┬ @aws-sdk/[email protected]
    │   │ ├─┬ @aws-sdk/[email protected]
    │   │ │ └── @aws-sdk/[email protected] deduped
    │   │ ├─┬ @aws-sdk/[email protected]
    │   │ │ └── @aws-sdk/[email protected] deduped
    │   │ ├─┬ @aws-sdk/[email protected]
    │   │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ ├─┬ @aws-crypto/[email protected]
    │   │ │ │ │ ├─┬ @aws-crypto/[email protected]
    │   │ │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ ├─┬ @aws-crypto/[email protected]
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ ├── @aws-sdk/[email protected]
    │   │ │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ │ └─┬ @aws-sdk/[email protected]
    │   │ │ │   └── @aws-sdk/[email protected] deduped
    │   │ │ └── @aws-sdk/[email protected] deduped
    │   │ ├─┬ @aws-sdk/[email protected]
    │   │ │ └── @aws-sdk/[email protected] deduped
    │   │ ├─┬ @aws-sdk/[email protected]
    │   │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ ├─┬ @aws-sdk/[email protected]
    │   │ │ │ └── @aws-sdk/[email protected] deduped
    │   │ │ └── @aws-sdk/[email protected] deduped
    │   │ ├─┬ @aws-sdk/[email protected]
    │   │ │ └── @aws-sdk/[email protected] deduped
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├─┬ @aws-sdk/[email protected]
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├─┬ @aws-sdk/[email protected]
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├─┬ @aws-sdk/[email protected]
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├─┬ @aws-sdk/[email protected]
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├─┬ @aws-sdk/[email protected]
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├── @aws-sdk/[email protected]
    │   ├─┬ @aws-sdk/[email protected]
    │   │ └── @aws-sdk/[email protected] deduped
    │   ├─┬ @aws-sdk/[email protected]
    │   │ └── @aws-sdk/[email protected] deduped
    │   └─┬ @aws-sdk/[email protected]
    │     └── @aws-sdk/[email protected] deduped
    └─┬ @aws-sdk/[email protected]
      └─┬ @aws-sdk/[email protected]
        └─┬ @aws-sdk/[email protected]
          ├─┬ @aws-crypto/[email protected]
          │ ├─┬ @aws-crypto/[email protected]
          │ │ └── @aws-sdk/[email protected] deduped
          │ └── @aws-sdk/[email protected] deduped
          ├─┬ @aws-crypto/[email protected]
          │ └── @aws-sdk/[email protected] deduped
          ├─┬ @aws-sdk/[email protected]
          │ └── @aws-sdk/[email protected] deduped
          ├─┬ @aws-sdk/[email protected]
          │ ├─┬ @aws-sdk/[email protected]
          │ │ └── @aws-sdk/[email protected] deduped
          │ ├─┬ @aws-sdk/[email protected]
          │ │ └── @aws-sdk/[email protected] deduped
          │ ├─┬ @aws-sdk/[email protected]
          │ │ └── @aws-sdk/[email protected] deduped
          │ ├─┬ @aws-sdk/[email protected]
          │ │ └── @aws-sdk/[email protected] deduped
          │ ├─┬ @aws-sdk/[email protected]
          │ │ ├─┬ @aws-sdk/[email protected]
          │ │ │ └── @aws-sdk/[email protected] deduped
          │ │ ├─┬ @aws-sdk/[email protected]
          │ │ │ └── @aws-sdk/[email protected] deduped
          │ │ └── @aws-sdk/[email protected] deduped
          │ ├─┬ @aws-sdk/[email protected]
          │ │ └── @aws-sdk/[email protected] deduped
          │ └── @aws-sdk/[email protected] deduped
          ├─┬ @aws-sdk/[email protected]
          │ └── @aws-sdk/[email protected] deduped
          ├─┬ @aws-sdk/[email protected]
          │ └── @aws-sdk/[email protected] deduped
          ├─┬ @aws-sdk/[email protected]
          │ └── @aws-sdk/[email protected] deduped
          ├─┬ @aws-sdk/[email protected]
          │ └── @aws-sdk/[email protected] deduped
          ├─┬ @aws-sdk/[email protected]
          │ └── @aws-sdk/[email protected] deduped
          ├── @aws-sdk/[email protected]
          ├─┬ @aws-sdk/[email protected]
          │ └── @aws-sdk/[email protected] deduped
          ├─┬ @aws-sdk/[email protected]
          │ └── @aws-sdk/[email protected] deduped
          └─┬ @aws-sdk/[email protected]
            └── @aws-sdk/[email protected] deduped

Regression Issue

  • Select this option if this issue appears to be a regression.

SDK version number

@aws-sdk/[email protected]

Which JavaScript Runtime is this issue in?

Node.js

Details of the browser/Node.js/ReactNative version

node v14.18.1

Reproduction Steps

nvm use 14
npm i yarn
yarn add @aws-sdk/[email protected]
error @aws-sdk/[email protected]: The engine "node" is incompatible with this module. Expected version ">=18.0.0". Got "14.18.1"

Observed Behavior

error @aws-sdk/[email protected]: The engine "node" is incompatible with this module. Expected version ">=18.0.0". Got "14.18.1"

Expected Behavior

Installing version 3.565 should successfully install with proper dependencies.

Possible Solution

No response

Additional Information/Context

No response

Metadata

Metadata

Assignees

Labels

bugThis issue is a bug.p3This is a minor priority issueresponse-requestedWaiting on additional info and feedback. Will move to \"closing-soon\" in 7 days.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions