2015-11-06 1640 views
6

我试图运行采用了夏普一些代码的NodeJS,我发现了以下错误:错误:无法找到模块“./build/Release/sharp”

[[email protected] myapp-backend]# node server.js 

module.js:340 
    throw err; 
    ^
Error: Cannot find module './build/Release/sharp' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (/root/myapp-backend/node_modules/sharp/index.js:11:13) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (/root/myapp-backend/server.js:277:13) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:935:3 

任何想法?

谢谢。

+0

您是否试图检查您的路径? –

+0

是的,我做了一个谷歌搜索之前,我张贴和验证我的路径设置正确,如果这是你的意思? –

+0

运行'npm install'时是否报告了错误? –

回答

6

这可能是由于夏普未安装。当我通过 npm安装它时,没有错误,但当我进入node_modules/sharp时,有三个没有构建文件。

您可以尝试建立它做
node-gyp rebuild

但是,在此之前,确保你已经安装了贵宾 - 这是夏普使用了库。在Mac你会做
brew install homebrew/science/vips --with-webp --with-graphicsmagick

在你建立夏普库后,你应该很好去。

+3

在windows和linux上,sharp带有一个预先构建的vips二进制文件。只要'npm install sharp',一切都应该工作。就像你说的那样,在OS X上,你需要首先使用brew来安装vips。 – user894763

+0

'libvips'应该使用'apt-get'在Debian上手动安装,然后'npm install sharp' –

2

原来我使用的Debian 8.x发行版不包含vips,但没有收到错误消息。运行 apt-get install libvips 后面跟着 npm安装锐利 解决了问题,并且sharp终于安装并正常工作。

+1

thx,这发生在我的Ubuntu上 – bobmoff