4.

version less than X.X is not supported.

編集
この記事の要点
  • version less than X.X is not supported使用しているライブラリやランタイムのバージョンが古いとき発生
  • よく見るのは Node.js(npm パッケージ)、npm / yarnPython / pipRuby Gem
  • 対処: バージョン管理ツール (nvm / pyenv / rbenv) で新しいランタイムをインストール
  • パッケージ側のバージョン制約を満たさないと、新規インストールが拒否される

 

エラーパターン

このエラーメッセージは複数の文脈で出ます。主なパターン:

パターン 1: Node.js のバージョン不足

$ npm install some-package
npm WARN EBADENGINE Unsupported engine {
  required: { node: '>=16.0.0' },
  current: { node: 'v14.21.0', npm: '6.14.18' }
}
npm ERR! node version less than 16.0.0 is not supported

パッケージが要求する Node.js バージョンに満たない。

パターン 2: Python のバージョン不足

$ pip install some-package
ERROR: package requires Python >=3.8 but the running Python is 3.6.9.
Python version less than 3.8 is not supported.

パターン 3: TypeScript / Angular / React のバージョン不足

Error: TypeScript version less than 4.0 is not supported.
Found TypeScript version 3.9.10.

Error: Angular CLI version less than 14.0 is not supported.

パターン 4: Gradle / Maven の Java バージョン不足

Could not determine java version from '14'.
Java version less than 11 is not supported by this version of Gradle.

対処方法(言語別)

Node.js

nvm(Node Version Manager)で複数バージョン管理:

# nvm インストール (Linux/Mac)
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# Windows は nvm-windows: https://github.com/coreybutler/nvm-windows

# バージョン一覧
$ nvm ls-remote

# 最新 LTS インストール
$ nvm install --lts
$ nvm use --lts

# 特定バージョン
$ nvm install 18.17.0
$ nvm use 18.17.0

# 確認
$ node -v
v18.17.0

Python

pyenv で複数バージョン管理:

# pyenv インストール
$ curl https://pyenv.run | bash

# バージョン一覧
$ pyenv install --list

# Python 3.11 をインストール
$ pyenv install 3.11.5
$ pyenv global 3.11.5

# プロジェクト単位なら
$ cd myproject
$ pyenv local 3.11.5

# 確認
$ python --version
Python 3.11.5

Java

SDKMAN! で複数バージョン管理:

# SDKMAN! インストール (Linux/Mac)
$ curl -s "https://get.sdkman.io" | bash

# Java 一覧
$ sdk list java

# 特定バージョン
$ sdk install java 17.0.8-tem
$ sdk use java 17.0.8-tem

# Windows: scoop / chocolatey / Adoptium ダウンロード
> choco install temurin17  # Windows + Chocolatey

Ruby

# rbenv で
$ rbenv install 3.2.0
$ rbenv global 3.2.0

# または rvm
$ rvm install 3.2.0
$ rvm use 3.2.0

パッケージ側のバージョン要件確認

npm: package.json の "engines"

// 自分のプロジェクトで要求するバージョン
{
  "engines": {
    "node": ">=18.0.0",
    "npm": ">=9.0.0"
  }
}

// インストールしたいパッケージの要件を確認
$ npm info some-package engines

Python: setup.py / pyproject.toml の python_requires

# setup.py
setup(
    name="my-package",
    python_requires=">=3.8",
    ...
)

# pyproject.toml
[project]
requires-python = ">=3.8"

一時的に古いバージョンのパッケージを使う

ランタイムを上げられない場合、パッケージの古いバージョンを指定:

# npm
$ npm install some-package@2.5.0  # 古いバージョン

# pip
$ pip install some-package==1.2.3

# パッケージの利用可能バージョン一覧
$ npm view some-package versions --json
$ pip index versions some-package

CI/CD でこのエラーが出る場合

GitHub Actions / GitLab CI のランナー設定でランタイムバージョンを明示:

# .github/workflows/build.yml
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '18'
      - run: npm install
      - run: npm test

# Java
      - uses: actions/setup-java@v4
        with:
          distribution: 'temurin'
          java-version: '17'

# Python
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'

関連記事

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. java.lang.NoSuchMethodError
  2. java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
  3. java.lang.UnsupportedClassVersionError
  4. version less than X.X is not supported.
  5. パッケージ~は存在しません
  6. org.apache.jasper.JasperException: ...The jsp:param action must not be...
  7. java.io.FileNotFoundException: ファイル名 (許可がありません)
  8. java.sql.SQLException: Cannot convert value 'YYYY-MM-DD ...' from column n(YYYY-MM-DD ...) to TIMESTAMP.
  9. 警告: この文字は、エンコーディング[文字コード]にマップできません
  10. java.text.ParseException: Unparseable date
  11. Unsupported major.minor version 52.0
  12. エンティティ" ... "への参照は';'デリミタで終了する必要があります。
  13. java.math.BigDecimal cannot be cast to java.lang.String