1
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?

【ハッカソン開発記#5】Next.jsで react/jsx-runtime エラーが消えなかった話(WSL + OneDrive + pnpm)

1
Last updated at Posted at 2026-05-27

Next.jsで react/jsx-runtime エラーが消えなかった話

問題

ハッカソンの学習で、公式ドキュメントを使って学習をしている最中の学生です。Next.js 開発中に以下のエラーが発生しました。

[ELIFECYCLE] Command failed.

また、VSCode上で JSX 全体に赤線が表示され、

react/jsx-runtime が見つかりません

というエラーも発生しました。

pnpm dev

で、実行はできるので、開発に大きな影響はなかったのですが、VScode上に大量の赤線が残り続けることが嫌だったので、修正方法を調べました。

環境:

  • WSL(Ubuntu)
  • OneDrive 配下(これがあとあと原因になっている気がします)
  • pnpm 使用

対策

以下を実施。

  • latest をやめて version を固定
  • pnpm → npm に変更
  • node_modules を削除
  • lockファイルを削除
  • 再インストール

実行コマンド:

rm -rf node_modules
rm -f pnpm-lock.yaml
rm -f package-lock.json

npm install
npm run dev

結果

  • react/jsx-runtime エラー解消
  • JSX の赤線消滅
  • npm run dev 正常起動

考察

今回の原因は、単純に pnpm が悪いというより、

WSL + OneDrive + pnpm

の組み合わせにあった可能性が高いです。

pnpm の特徴

pnpm は高速・軽量化のために、

  • symlink
  • hard link

を多用します。

そのため、

  • WSL
  • OneDrive
  • Windows/Linux 跨ぎ

のような環境では、依存解決や TypeScript の参照が不安定になることがあるそうです。

一方で、大規模開発や monorepo では非常に強力で、近年は企業採用も増えていると私のLLM君は言っていました。


npm の特徴

npm は Node.js 標準の package manager であり、環境依存の問題が比較的少ないです。

特に、

  • 学習用途
  • 小〜中規模開発
  • WSL + OneDrive 環境

では安定しやすいと感じました。そのため私のような初学者は、pnpmのような高速なものを使うよりは、安定して動くnpmを使った方がよさそうという結論です(今のところは)。


今回の学び

package manager 自体よりも、

開発環境との相性

が重要でした。

今後の流れ

1. OneDrive 配下での開発を見直し

可能であれば、

~/projects

など Linux 側へプロジェクトを配置し、WSL ネイティブ環境で開発する必要があります(大学の容量ギリギリノートPCなので、これはまた考えます)。


2. pnpm へ再移行

環境を整理した後、再度 pnpm を試します。

rm -rf node_modules
rm -f package-lock.json

pnpm install
pnpm dev

3. 脆弱性対応

現在、一部 package に deprecated / vulnerability warning が存在します。

特に:

next@15.1.6

には既知脆弱性があるため、安定動作確認後に patched version へ更新予定です。

ただし、

npm audit fix --force

は major upgrade を含む可能性があるため、慎重に行います。
(この辺りはLLM君に出力してもらっていて、私の知識では何を言っているのかわからないので、学習してから取り組む必要がありそうです)


補足

以下の warning は、自分が package.json に直接書いたものではなく、

依存ライブラリのさらに依存

であることが多いらしいです。

npm warn deprecated glob@7.2.3
1
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
1
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?