0

Out 应用程序使用 grunt-contrib-imagemin 来缩小 Angular JS 开发中的图像。对于 Windows 和 Linux,grunt-conntrib-imagemin 的代码似乎不同。我面临的问题是,我的团队正在 Windows 机器上进行开发,一切正常,但是我们也有一个 Jenkins 构建(在 Linux 机器上),如果我们签入 node_modules 则会失败目录。

理想的解决方案应该是什么?我可以从存储库中删除 node_modules,但是根据各种博客,建议签入 node_modules https://web.archive.org/posts/nodemodules-in-git.html

PS:我遇到了 imagemin@1.0.0 版本的问题,我在 Jenkins 构建中遇到的错误是:

Warning: Error: spawn          /global/apps/contint/build_server/jenkins/jobs/APP_TRUNK/workspace/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/vendor/optipng ENOENT in file app/images/+2px.png Use --force to continue.
4

1 回答 1

0

不确定,但我认为 imagemin 不接受名称以 + 开头的图像?

请参阅:在文件 app/images/+2px.png 中,也许您可​​以更改图像的名称并进行测试?

或删除相同的,看看是否运行正常?

可以是 grunt-contrib-imagemin 依赖问题吗?

  1. 按照他们自己的说明修复 npm 权限: https ://docs.npmjs.com/getting-started/fixing-npm-permissions

  2. 删除项目的 node_modules/ 文件夹

  3. 重新开始

  4. 通过在项目文件夹中运行 npm install 重新安装节点模块。

你也可以试试:

npm uninstall grunt-contrib-imagemin

npm install grunt-contrib-imagemin

我希望我能有所帮助。

于 2016-05-09T11:35:23.027 回答