我正在尝试在Windows上运行MacOS下开发的meteor应用程序。
有这个问题:
警告:cfs:graphicsmagick找不到“graphicsMagic”或 系统中的“imageMagic”。
我刚检查了PATH,看看我是否能找到GraphicsMagick或者 你的系统上的ImageMagic unix / mac os / windows二进制文件,我失败了。
为什么: 我可能是盲目的或天真的,帮助我变聪明 2.您还没有添加二进制文件的路径 3.你还没有实际安装GraphicsMagick或ImageMagick
*确保“$ PATH”环境配置为“路径:/路径/到/二进制”*
安装提示: * Mac OS X“brew install graphicsmagick”或“brew install imagemagick” * Linux下载rpm或使用packagemanager * Centos“yum install GraphicsMagick”* Windows下载安装程序并运行
我已经安装了GraphicsMagick和ImageMagic,检查了PATH。 在cmd gm命令中运行GraphicsMagick,但这个问题仍然存在于流星中。
答案 0 :(得分:1)
cfs:graphicsmagick
模块旨在用于Windows。这是寻找graphicsmagick的脚本。我已修改它以使用节点并增加冗长以帮助您调试问题:
var graphicsmagick = false;
var imagemagick = false;
var fs = require("fs"); //or Npm.require("fs") if you're running this script with meteor
// Split the path by : for linux
// Split the path by ; for windows
var sep = /^win/.test(process.platform) ? ';' : ':';
var binaryPaths = process.env['PATH'].split(sep);
// XXX: we should properly check if we can access the os temp folder - since
// gm binaries are using this and therefore may fail?
// XXX: we could push extra paths if the `gm` library check stuff like:
// $MAGIC_HOME The current version does not check there
// $MAGICK_HOME (GraphicsMagick docs)
// We check to see if we can find binaries
for (var i = 0; i < binaryPaths.length; i++) {
var binPath = binaryPaths[i];
console.log("Looking in", binPath)
// If we have not found GraphicsMagic
if (!graphicsmagick) {
// Init
var gmPath = path.join(binPath, 'gm');
var gmExePath = path.join(binPath, 'gm.exe');
// Check to see if binary found
graphicsmagick = fs.existsSync(gmPath) || fs.existsSync(gmExePath);
// If GraphicsMagic we dont have to check for ImageMagic
// Since we prefer GrapicsMagic when selecting api
if (!graphicsmagick && !imagemagick) {
// Init paths to check
var imPath = path.join(binPath, 'convert');
var imExePath = path.join(binPath, 'convert.exe');
// Check to see if binary found
imagemagick = fs.existsSync(imPath) || fs.existsSync(imExePath);
}
}
}
console.log("Found GraphicsMagick", graphicsmagick)
console.log("Found ImageMagick", imagemagick)
当你运行它时,它会在环境变量的所有PATH
变量中为你提供一个它正在查找的路径。
查找您拥有的imagemagick安装并检查它是否匹配。如果您使用Meteor运行脚本,请务必从Npm.require("fs")
更改require('fs')
。
检查非常彻底,查找gm.exe
或convert.exe
,如果已安装,则必须找出未检测到的原因。