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?

【備忘録】 imagemin(gulp-imagemin,imagemin-gifsicle,imagemin-mozjpeg,imagemin-optipng)をpnpmで実行時のエラー解決法

Last updated at Posted at 2025-07-12

タイトル通りエラーがimageminをpnpmで利用しようとしたらエラーが出てしまいましたが、以下で解決したので備忘録として残しておきます

実行環境

os:mac ventura
チップ:Apple M1 Pro
pnpm@10.10.0
node@23.7.0

解決策

以下を追加後にpnpm installでnode_modulesをインストールしたら解決しました

package.json
  "pnpm": {
    "neverBuiltDependencies": []
  }

原因

yarnを利用時は問題ないのにpnpmで利用しようとするとエラーが出てしまいました。
原因を調べているとエラー内容が似ている以下を見つけました
ENOENT for .bin/moon After Update to v10.8.1 from v9.15.9 #9436

以下は Gemini に翻訳してもらった原因です

原因: pnpm v10 以降のビルド最適化と optipng-bin
pnpm の比較的新しいバージョン(特に v10.x 以降)では、インストールプロセスを高速化し、リソース使用量を>削減するために、一部の依存関係のビルドスクリプト(postinstall スクリプトなど)をデフォルトでスキップするようになりました。

これは、多くのパッケージにとってパフォーマンス向上につながる賢い最適化ですが、ネイティブバイナリをビルドする必要があるパッケージにとっては問題となります。

imagemin は、画像最適化のコア部分で optipng-bin や mozjpeg-bin といったバイナリラッパーに依存しています。これらの *-bin パッケージは、もしプリビルドされたバイナリが利用できない場合(例えば、Apple Silicon のように新しいアーキテクチャや、特定の環境)、ソースコードからバイナリをコンパイルするための install または postinstall スクリプトを実行します。

ということで追加しinstallし直して実行したら解決しました。
ちなみにモノレポを利用しているプロジェクトではルートに設定するのが推奨とのことです

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?