Next.jsの公式チュートリアル通りにpnpm installを実行したところ、bcryptとsharpのビルドスクリプトが無視されて停止したという体験談です。教材はpnpmのバージョンを指定していませんでしたが、著者の環境にはpnpm 11.18.0が入っており、pnpmはv10以降、依存パッケージのビルドスクリプトを既定では実行しない仕様(サプライチェーン対策)に変わっていたことが原因でした。

さらに、この許可設定の書き方もv10とv11で異なり、v10時代の記事で紹介されていたpackage.jsonのonlyBuiltDependenciesではなく、v11ではpnpm-workspace.yamlにallowBuildsを設定する方式に統一されていたとのことです。著者はpnpm-workspace.yamlにallowBuildsを追記し、bcryptとsharpをtrueにすることで解決したと述べています。

「『教材どおりなのに動かない』は、たいてい教材・手元・検索結果の3つのバージョンがずれている」と結論づけています。

出典が伝えている要点

  • 著者がNext.jsの公式チュートリアル通りにインストールを進めたところ、pnpm installの最終段階で処理が停止した
  • エラーメッセージは「ERR_PNPM_IGNORED_BUILDS Ignored build scripts: bcrypt@5.1.1, sharp@0.34.5」「Aborting installation.」だった
  • 教材の指示は「npm install -g pnpm」のみでバージョン指定がなかった
  • 著者の環境にはpnpm 11.18.0がインストールされた
  • pnpm v10以降、依存パッケージのビルドスクリプトが既定では実行されなくなった
  • 記事ではこの仕様変更をサプライチェーン対策として説明している
  • このエラーは失敗ではなく、ビルドスクリプトの実行可否をユーザーが判断すべき状態を示すものだった
  • 対象パッケージはbcryptとsharpだった
  • v10時代の記事ではpackage.jsonにonlyBuiltDependenciesを設定する方法が紹介されていたが、v11ではpnpm-workspace.yamlにallowBuildsを設定する方式に統一された
  • 解決策としてpnpm-workspace.yamlにallowBuilds設定でbcryptとsharpをtrueにする方法が示されている

原文より

ERR_PNPM_IGNORED_BUILDS Ignored build scripts: bcrypt@5.1.1, sharp@0.34.5 Aborting installation.
「あなたが決めてください」と書かれた穴が空いています
「教材どおりなのに動かない」は、たいてい教材・手元・検索結果の3つのバージョンがずれている

出典: zenn.dev

← 2026.09.09 の号を通しで読む