最近在centos7上build一个vue项目时报:
Error: Cannot find module 'mozjpeg'
经过折(bai)腾(du) 终于完成打包,写篇文章记录一下。
依赖模块: image-webpack-loader:7.X
处理过程:
1、最初怀疑是 image-webpack-loader版本过高导致,因为在github.com官方仓库中有人提示使用"image-webpack-loader": "6.0.0",通过降低版本到6.0.0 发现新的问题:
node_modules/mozjpeg/vendor/cjpeg ENOENT
经过研究发现,这个问题好像更难解决。
2、通过yarn 安装依赖,
# 强制重新安装所有依赖
yarn install --force
通过报错发现,缺少系统依赖,
pngquant failed to build, make sure that libpng-dev is installed
好像想起了什么,在官方github.com的isue 中有这样一条回复:
于是翻看yarn 安装日志,提示 nasm 模块未安装。
于是执行如下命令:
# centos7 安装 libpng-dev
yum install libpng-devel
# centos7 安装 nasm
yum install nasm
# 删除已安装的模块
rm -rf node-modules
# 强制安装依赖模块
yarn install --force
#打包
yarn build
打包成功。