我正在尝试使用 node.js、grunt 和 grunt 插件调整 4000 个图像的大小。目前,我正在使用 grunt-imagemagick
,但无论我使用什么,我都会遇到类似的错误。
任何人都可以阐明这个错误,或者推荐一个 grunt 插件,该插件可以在 OSX 上开箱即用,用于中等较大的图像目录吗?
- 操作系统:OSX 10.9
- Node :v0.8.16
- 咕噜:v0.4.1
- grunt-imagemagick:https://npmjs.org/package/grunt-imagemagick
这是使用 --stack
选项运行 grunt 任务时控制台的输出
$ grunt --stack imagemagick-resize
Running "imagemagick-resize:people" (imagemagick-resize) task
Beginning ImageMagick resizing process
resizing:../photos_src/organisms/Genus_Acanthostrongylophora^Species_ashmorica.jpg...
...
... (approx 170 files)
...
resizing:../photos_src/organisms/Genus_Chrysomelobia^species_lipsettae.jpg...
resizing:../photos_src/organisms/Genus_Chrysomelobia^species_vafer.jpg...
Warning: spawn EMFILE Use --force to continue.
Error: spawn EMFILE
at errnoException (child_process.js:847:11)
at ChildProcess.spawn (child_process.js:794:11)
at Object.exports.spawn (child_process.js:618:9)
at exec2 (/Users/user/Documents/projectName/node_modules/grunt-imagemagick/node_modules/node-imagemagick/lib/imagemagick.js:24:25)
at Object.exports.convert (/Users/user/Documents/projectName/node_modules/grunt-imagemagick/node_modules/node-imagemagick/lib/imagemagick.js:262:10)
at resizeCall (/Users/user/Documents/projectName/node_modules/grunt-imagemagick/node_modules/node-imagemagick/lib/imagemagick.js:267:22)
at Object.exports.resize (/Users/user/Documents/projectName/node_modules/grunt-imagemagick/node_modules/node-imagemagick/lib/imagemagick.js:282:10)
at Object.ResizeCommand.init (/Users/user/Documents/projectName/node_modules/grunt-imagemagick/tasks/imagemagick.js:112:13)
at Object.<anonymous> (/Users/user/Documents/projectName/node_modules/grunt-imagemagick/tasks/imagemagick.js:222:11)
at Object.task.registerMultiTask.thisTask (/Users/user/Documents/projectName/node_modules/grunt/lib/grunt/task.js:258:15)
最佳答案
以下可能是您问题的答案:https://github.com/gruntjs/grunt/issues/788
EMFILE
means it is trying to open more file descriptors than your system allows. If you're on OSX, the default is 256 and really low. You can temporarily increase it on your session withulimit -n 10480
(assuming your own OSX).
关于node.js - 使用 grunt 插件调整 4000 多个图像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19850817/