带有canvas-prebuilt的Chartjs-node仍然会抛出'Cairo not found'错误

时间:2018-04-27 19:29:47

标签: javascript node.js canvas chart.js

我目前正在使用chartjs-node生成一些图表。我的node.js代码在我的本地(windows)机器上完美运行,但我怀疑是因为我安装了windows-build-tools,其中包含cairo包。

当我推送到我的远程(linux)服务器并尝试编译时,我收到以下错误:

No package 'cairo' found

但是,我的包依赖列表如下:

"canvas-prebuilt": "^1.6.5-prerelease.1",
"chart.js": "2.6.0",
"chartjs-node": "^1.6.1"

根据我对the documentation的理解,使用canvas-prebuilt代替canvas应避免在我的服务器上预安装任何软件包的需要。显然,我可以只是预先安装必要的软件包(as described in this SO answer) - 但我想知道是否有任何方法可以设置我的软件包依赖列表以避免该路由。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您可以将chartjs-node切换到我的chartjs-node-canvas包裹。它使用canvas-prebuilt代替canvas,这是其存在的主要原因之一:)