Nodejs找不到模块'../build/Release/canvas'

时间:2013-02-08 11:42:08

标签: node.js node-canvas

我安装了cairo和node-canvas。我尝试了一切,但仍然找不到模块。

sudo apt-get install libcairo2-dev
sudo npm install canvas
sudo npm install canvas -g

如果我运行require('canvas'),我会收到此错误:

Error: Cannot find module '../build/Release/canvas'
    at Function._resolveFilename (module.js:332:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/home/tomas/node_modules/canvas/lib/bindings.js:2:18)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:32)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)

我使用的是Ubuntu linux

提前致谢。

5 个答案:

答案 0 :(得分:3)

这里的问题看起来像 1.您的节点模块安装在不同的位置但node.js运行时在不同的位置搜索它。检查NODE_PATH,看看是否是这种情况。

参考http://nodejs.org/api/modules.html#modules_loading_from_the_global_folders

中说明的模块加载

答案 1 :(得分:1)

我遇到了同样的问题。问题是install的{​​{1}}脚本从未执行过,这就是node-canvas文件夹丢失的原因。

就我而言,删除build文件是解决方案,因为它出于某种原因跳过了yarn.lock软件包安装。一旦我让node-canvas处理这些包,它就成功安装了npm,运行了node-canvas脚本,并且再次出现了构建文件夹。

答案 2 :(得分:0)

我有一个类似的问题,但是我使用canvas-prebuilt替代了canvas,并为此进行了修复: npm install -g node-gyp ,然后在终端中 node-gyp重建

答案 3 :(得分:0)

就我而言,我必须花费大量时间来解决此问题。

我只使用“ npm卸载画布”,然后使用“ npm我的画布”安装

如果以上选项都不适合您,请尝试此操作。

答案 4 :(得分:-1)

sudo apt-get install libpixman-1-dev libcairo2-dev libpangocairo-1.0-0 libpango1.0-dev libgif-dev  libjpeg-dev

如果使用ubuntu,请尝试在lib上面安装,然后为我安装canvas.work。

如果使用cnpm安装画布。试试下午。