0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Node.js】【奇数】Node.js v23の洗礼。--silentエラー

0
Last updated at Posted at 2026-02-01

はじめに

Storybookを導入しようとした際、以下の見慣れないエラーに遭遇しました。

Node.js version v23.6.0 detected.
Odd numbered Node.js versions will not enter LTS status and should not be used for production. For more information, please see https://nodejs.org/en/about/previous-releases/.
Error: Unknown argument: silent

Error: Unknown argument: silent
結論から言うと、これはNode.jsのバージョン選びが原因で発生する、一種の「相性問題」でした。

何が起きたのか?(原因の深掘り)

1. Node.js v23 は「奇数バージョン」

Node.jsには、「LTS(長期サポート)」というルールがあります。

  • 偶数バージョン(v20, v22...): 安定版。仕事や本番環境で使う用。
  • 奇数バージョン(v21, v23...): 最新機能をお試しする用。サポート期間が短い。

今回使用していた v23.6.0 は、いわば「実験場」のようなバージョンです。そのため、Storybookのような周辺ツールが「新しい仕様」に対応しきれず、内部コマンドが空回りしてしまったのです。

2. Unknown argument: silent の正体

Node.js本体や同梱される npm のバージョンが上がると、これまで当たり前に使えていたオプション--silent など)が、突然「非推奨」になったり「削除」されたりすることがあります。 Storybook側は「いつも通り silent を付けとこ!」と実行したのに、Node v23 側の npm が「そんな命令、もう知らないよ!」と突き返したのが、今回のエラーの正体です。

--silent オプションって何?
通常、npm installnpm run を実行すると、「今これをダウンロードしています」「ここに保存しました」といったログが大量に流れます。 --silent(短縮形は -s)をつけると、これらの表示を一切出さない(無音にする)ことができます。
しかし、今回はその「気遣い」が仇となりました。最新の Node.js v23 ではコマンドの解釈が厳密になったのか、この --silent という引数自体が「正体不明(Unknown argument)」として拒絶されてしまったようです。
「沈黙は金」と言いますが、プログラミングの世界では、沈黙しすぎてエラーまで隠れてしまったり、逆に沈黙を強いたせいでエラーが起きたりすることもある……という、ちょっと皮肉な教訓でした。

「静かに」対決:Silent vs Quiet
npmには、静かにさせるレベルが2段階あります。

  • --quiet:
    「警告(WARN)」や「エラー(ERR)」は出すけど、進捗などの「おしゃべり」は控える(音量を下げるイメージ)。
  • --silent:
    文字通り、何があっても一切喋らない(ミュートにするイメージ)。

解決策:どう乗り越えたか

幸い、インストール処理自体は内部で進んでいたため、無理にインストールコマンドを再試行せず、直接起動することで解決しました🎉

bash
# インストールコマンドで止まってしまったが...
npm run storybook

これで無事に起動を確認!ツールが自動で実行してくれるコマンドがエラーになっても、「手動で叩けば動く」という良い教訓になりました。

まとめ:これからの対策

もし同様のエラーが頻発するようなら、以下の手順で「安定版(LTS)」に切り替えるのがエンジニアとしての定石です。

本アプリのデプロイ先である Vercel では、Node.js v24 (LTS)がすでに選択可能でした。v24 は現在「Active LTS」として、本番環境でも安心して使える安定したバージョンです。

一方で、さらに枯れた(十分に検証された)安定を求めるプロジェクトでは v22 (Maintenance LTS) が選ばれることもあります。

バージョンについては、現在の v24 (LTS) を主軸にしつつ、開発環境では最新の動向を追いかけながら、最適なタイミングでアップデートを続けていこうと思います。

以下、変更手順です。

1. nvm などのバージョン管理ツールを導入する
2. nvm install 24 で安定版を入れる
3. nvm use 24 で環境を固定する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?