我尝试将gm module与ExpressJS一起使用来调整服务器上的图像大小。调整大小没有按预期工作,所以我将我的代码更改为console.log一个值,我可以立即看到它给了我一个错误。我用Homebrew安装了ImageMagick。
CODE:
var gm = require('gm')
...
gm('uploads/4d03e739a7302fc7f68d022339205dee.JPG').filesize(function(err, value){
if (err) {
console.log(err)
} else {
console.log(value)
}
})
FIRST ERROR:
{ [Error: spawn ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn' }
所以,我做了一些谷歌搜索,并读到我应该改变
var gm = require('gm')
到
var gm = require('gm').subClass({ imageMagick: true })
现在我收到了这个错误,我找不到任何关于它的信息:
{ [Error: Command failed: dyld: Library not loaded: /usr/local/lib/liblzma.5.dylib
Referenced from: /usr/local/bin/identify
Reason: image not found
] code: null, signal: 'SIGTRAP' }
我尝试卸载ImageMagick,更新Homebrew并重新安装。我还尝试卸载并重新安装freetype并运行brew unlink freetype&&终端中的brew链接freetype。
答案 0 :(得分:2)
回答我自己的问题......我很难找到答案,所以这可能会对某人有所帮助。
看起来Homebrew的瓶装版ImageMagick存在问题。
卸载ImageMagick并使用--build-from-source标志重新安装对我来说很有用。
brew install imagemagick --build-from-source