Nodejs GM 模块 ImageMagick - 奇怪的错误
Nodejs GM module ImageMagick - strange Error
我有一个很奇怪的错误。我正在使用 MAC OS X 10.9.5。
当我使用 GM (npm install gm
) 的某些功能(如调整大小或其他功能)时出现此错误。
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:988:11)
at Process.ChildProcess._handle.onexit (child_process.js:779:34)
我发现了很多关于它的话题,根据他们的说法,我已经在系统中安装了带有 brew 的 graphicsmagic 和 imagemagick。
brew install imagemagick
brew install graphicsmagick
它工作了一段时间,但无缘无故又开始显示上述错误。
我检查过我已经在系统中安装了 imagemagick 和 graphicksmagick,并且它们可以从终端运行。
我检查了我是否在 $PATH 中有它。
如果我 运行 在 nodejs 中这样做,它会在控制台中显示正确版本的 imagemagick,所以我假设路径在 nodejs 中是正确的。
var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) {
if(error)
sys.puts(error);
if(stderr)
sys.puts(stderr);
sys.puts(stdout);
}
exec("identify --version", puts);
这是崩溃的代码:
gm(request(url), thumbName)
.resize('300', '300', '^')
.gravity('Center')
.crop('300', '300')
.toBuffer('JPG',function (err, buffer) {
var data = {
Bucket: bucket,
Key: thumbName,
Body: buffer,
ACL:'public-read',
ContentType: 'image/jpeg'
};
s3.putObject(data, function(err, res) {
....
});
当我在 heroku 上部署它时一切正常
如果有人遇到这个问题,我已经解决了。
我使用此值将变量 PATH 添加到节点中的环境变量
bin:node_modules/.bin:/usr/local/bin:/usr/bin:/bin
我有一个很奇怪的错误。我正在使用 MAC OS X 10.9.5。
当我使用 GM (npm install gm
) 的某些功能(如调整大小或其他功能)时出现此错误。
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:988:11)
at Process.ChildProcess._handle.onexit (child_process.js:779:34)
我发现了很多关于它的话题,根据他们的说法,我已经在系统中安装了带有 brew 的 graphicsmagic 和 imagemagick。
brew install imagemagick
brew install graphicsmagick
它工作了一段时间,但无缘无故又开始显示上述错误。
我检查过我已经在系统中安装了 imagemagick 和 graphicksmagick,并且它们可以从终端运行。 我检查了我是否在 $PATH 中有它。
如果我 运行 在 nodejs 中这样做,它会在控制台中显示正确版本的 imagemagick,所以我假设路径在 nodejs 中是正确的。
var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) {
if(error)
sys.puts(error);
if(stderr)
sys.puts(stderr);
sys.puts(stdout);
}
exec("identify --version", puts);
这是崩溃的代码:
gm(request(url), thumbName)
.resize('300', '300', '^')
.gravity('Center')
.crop('300', '300')
.toBuffer('JPG',function (err, buffer) {
var data = {
Bucket: bucket,
Key: thumbName,
Body: buffer,
ACL:'public-read',
ContentType: 'image/jpeg'
};
s3.putObject(data, function(err, res) {
....
});
当我在 heroku 上部署它时一切正常
如果有人遇到这个问题,我已经解决了。 我使用此值将变量 PATH 添加到节点中的环境变量 bin:node_modules/.bin:/usr/local/bin:/usr/bin:/bin