Skip to content

npm WARN config global --global, --local are deprecated

問題概要

npmを使用してグローバルパッケージをインストールしようとすると、次の警告メッセージが表示されることがあります:

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

この警告は、Node.jsの特定のバージョン(特にnpm 8.11系)に存在する既知の問題で、--globalおよび--localフラグが非推奨となり、代わりに--location=globalを使用すべきであることを示しています。

注意点

この警告自体は操作を妨げるものではありませんが、npmの最新のコマンド構文に合わせて更新することが推奨されています。

根本原因

この問題は、以下の状況で発生します:

  • Node.js 16.16.0などの特定のバージョンを使用している
  • 付属のnpmバージョンが8.11系である
  • Windows環境で発生することが多い(macOSやLinuxでも発生する可能性あり)

解決方法

方法1: npmのアップデート(推奨)

最も簡単で安全な解決策は、npm自体を最新バージョンにアップデートすることです。

bash
npm install -g npm@latest

ヒント

管理者権限が必要な場合があります。WindowsではPowerShellまたはコマンドプロンプトを管理者として実行してください。

方法2: Node.js全体の再インストール

Node.jsを最新バージョンにアップデートすることでも解決します:

  1. Node.js公式サイトから最新バージョンをダウンロード
  2. 既存のNode.jsをアンインストール
  3. 新しいバージョンをインストール

方法3: 手動でのファイル修正(上級者向け)

npmをアップデートできない場合、以下のファイルを手動で修正できます:

  1. C:\Program Files\nodejs ディレクトリに移動

  2. 以下の4つのファイルを編集:

    • npm
    • npm.cmd
    • npx
    • npx.cmd
  3. 各ファイル内の prefix -gprefix --location=global に置換

例(npm.cmdファイル):

cmd
:: 修正前
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (

:: 修正後
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix --location=global') DO (

注意

この方法は最終手段としてのみ使用してください。ファイルの編集を誤るとnpmが正常に機能しなくなる可能性があります。

方法4: npxの使用(Create React Appの場合)

Create React Appを使用する場合、グローバルインストールは推奨されません。代わりにnpxを使用しましょう:

bash
npx create-react-app my-app

この方法では:

  • 常に最新バージョンのCreate React Appが使用されます
  • グローバルインストールによる競合が回避されます
  • プロジェクトごとに異なるバージョンを使用できます

トラブルシューティング

アクセス権限の問題

Windowsでパッケージのインストールに失敗する場合、以下の対策を試してください:

  1. 管理者としてターミナルを実行
  2. アンチウイルスソフトの設定を確認(npmをブロックしていないか)
  3. プロジェクトフォルダの読み取り専用属性を解除

npm-windows-upgradeの使用

Windows環境では、専用のアップグレードツールを使用することもできます:

powershell
# 実行ポリシーの変更(一時的)
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force

# アップグレードツールのインストール
npm install --global --production npm-windows-upgrade

# npmのアップグレード実行
npm-windows-upgrade --npm-version latest

# 実行ポリシーを元に戻す
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

まとめ

npmの非推奨警告は、以下のいずれかの方法で解決できます:

  1. npmの更新: npm install -g npm@latest
  2. Node.jsの再インストール: 最新版を公式サイトから
  3. npxの使用: グローバルインストールを避ける

バージョン情報

この問題はnpm 8.12.1以降で修正されています。現在利用可能な最新のNode.jsバージョンを使用することで、この警告を完全に回避できます。

最新のNode.jsとnpmを使用することで、セキュリティアップデートやパフォーマンス改善も同時に得られるため、環境の定期更新を心がけましょう。