Skip to content

templates that have a failing engines key in package.json, and version is pre-release, cannot be installed (using latest dist-tag) #694

Open
@shazron

Description

@shazron

Template: https://github.com/adobe/commerce-events-ext-tpl

Repro Steps

  1. Use [email protected] or greater and [email protected] or greater
  2. Install the template above using the aio-cli (via aio app init) or npm i

Error:

npm error code ETARGET
npm error notarget No matching version found for @adobe/commerce-events-ext-tpl@*.
npm error notarget In most cases you or one of your dependencies are requesting
npm error notarget a package version that doesn't exist.

Expected Behavior

The template/module can be installed.

Actual Behavior

The template/module cannot be installed and results in an error.

Investigation

[email protected] or greater has different behavior due to a bug fix. Users may have been relying on buggy behavior which has been fixed now.

The template above has an engines key of ^14 and is a pre-release version 1.0.0-beta.9 which results in the error.

Installing the module using a specific version, will not result in the error, there is an error only if it's using the latest dist-tag.

If I tested npm i of a module that fails the engine check on node-22 and is not a pre-release, it does not result in an error. Example module.

Fix

Remove the "engines" key from the template's package.json or update the engines key to a version that will pass on nodes >= 20, and/or update the version to a non-pre-release version.

Supporting Info

  1. https://docs.npmjs.com/cli/v10/using-npm/changelog#1082-2024-07-09
  2. https://github.com/npm/npm-pick-manifest/releases/tag/v9.1.0
  3. npm/npm-pick-manifest@9f5560f
  4. Add note about using EOL release versions nodejs/nodejs.org#6913
  5. node version to npm version mappings: https://nodejs.org/dist/index.json

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions