我安装了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
先谢谢你了。
7条答案
按热度按时间nfzehxib1#
在我的情况下,我必须花很多时间来解决这个问题。
我只使用npm uninstall canvas,然后使用npm i canvas安装
如果上述选项不适合您,请尝试此操作。
sg3maiej2#
在我的例子中,似乎也没有调用
canvas
的install
脚本。我没有删除锁文件,而是手动调用脚本,解决了我的问题(至少暂时解决了)。因此,如果已经安装了
canvas
包,请转到 /node_modules/canvas/ 并运行npm run install
,这将创建构建目录。w6lpcovy3#
我也遇到了同样的问题。问题是
node-canvas
的install
脚本从未执行过,这就是为什么build
文件夹丢失的原因。在我的例子中,删除
yarn.lock
文件是解决方案,因为它由于某种原因跳过了node-canvas
包的安装。一旦我让npm
处理这些包,它成功安装了node-canvas
,运行install
脚本,构建文件夹再次出现。gopyfrb34#
这里的问题看起来像1。你的节点模块安装在不同的位置,但是node.js运行时在不同的位置搜索它。检查NODE_PATH,看看是否是这种情况。
请参阅www.example.com中解释的模块加载http://nodejs.org/api/modules.html#modules_loading_from_the_global_folders
stszievb5#
我有一个类似的问题,但我使用了canvas-prebuilt,这是canvas的直接替代品,我修复了它:npm install -g node-gyp然后在终端中node-gyp rebuild
o7jaxewo6#
你可以试试:
mm9b1k5b7#
如果使用ubuntu,尝试安装以上lib,然后安装canvas.work对我来说很好。
如果你使用cnpm安装canvas,试试npm。