{"id":2121,"date":"2017-04-16T19:02:47","date_gmt":"2017-04-16T11:02:47","guid":{"rendered":"http:\/\/www.daliane.com\/?p=2121"},"modified":"2017-04-16T19:18:41","modified_gmt":"2017-04-16T11:18:41","slug":"node-canvas_tu_xing_mo_kuai_an_zhuang_gong_lue","status":"publish","type":"post","link":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/node-canvas_tu_xing_mo_kuai_an_zhuang_gong_lue\/","title":{"rendered":"node-canvas \u56fe\u5f62\u6a21\u5757 \u5b89\u88c5\u653b\u7565"},"content":{"rendered":"<p>1.\u5148\u5b89\u88c5 Python; \u901a\u8fc7Python \u5b98\u7f51 http:\/\/www.python.org\/getit\/ \u4e0b\u8f7d\u5e76\u5b89\u88c5\u6700\u65b0\u7248\u672c. \u7136\u540e\u5c06Python<br \/>\n\u7684\u5b89\u88c5\u76ee\u5f55(\u5982: C:\\Program Files\\Python) \u6dfb\u52a0\u5230PATH\u73af\u5883\u53d8\u91cf\u4e2d;<\/p>\n<p>2.\u5b89\u88c5node-gyp \u6216\u5c06 npm \u5347\u7ea7\u5230\u5185\u542b node-gyp \u7684\u7248\u672c (nodejs v0.6.13\u4ee5\u4e0a\u7684 npm<br \/>\n\u5df2\u5185\u7f6e\u4e86node-gyp, \u5219\u6b64\u6b65\u53ef\u4ee5\u7565\u8fc7);<\/p>\n<p>3.\u518d\u5b89\u88c5 Visual C++ 2010 Express; \u56e0\u4e3a\u9700\u8981\u7528\u5230\u5176\u4e2d\u7684MSBuild \u7528\u4ee5\u7f16\u8bd1 cairo \u7c7b\u5e93\u5230\u672c\u5730\u4ee3\u7801;<br \/>\n\u5fae\u8f6f\u5b98\u65b9\u83b7\u53d6: http:\/\/www.microsoft.com\/visualstudio\/en-us\/products\/2010-editions\/visual-cpp-express<br \/>\n(VC++\u4e0b\u8f7d\u548c\u5b89\u88c5\u7684\u8fc7\u7a0b\u5f88\u6f2b\u957f,\u9700\u8981\u8010\u5fc3\u7b49\u5f85);<\/p>\n<p>4.\u8fd8\u8981\u4e0b\u8f7d\u5305\u542b cairo \u56fe\u5f62\u5904\u7406\u5e93\u7684GTK\u5305:<\/p>\n<p>http:\/\/cairographics.org\/download\/ ,<br \/>\n\u9009gtk+-bundle_2.24.10-20120208_win32 \uff08\u6ce8\u610f\u662f\u6574\u4e2a\u5305\uff09\u6216\u6700\u65b0\u7248,<\/p>\n<p>5.\u5c06\u4e0b\u8f7d\u7684GTK\u5305\u89e3\u538b\u5230 C:\\GTK\\ \u76ee\u5f55(\u5fc5\u987b\u662f\u8fd9\u4e2a\u76ee\u5f55\u540d,\u5426\u5219\u63a5\u4e0b\u6765\u7684MSBuild\u7f16\u8bd1\u53ef\u80fd\u901a\u4e0d\u8fc7),<\/p>\n<p>6.\u5728Windows\u73af\u5883\u53d8\u91cfPATH \u540e\u6dfb\u52a0 C:\\GTK\\bin \u76ee\u5f55 (\u9700\u8981\u6ce8\u9500Windows\u91cd\u65b0\u767b\u5f55\u624d\u80fd\u5168\u5c40\u751f\u6548), \u4ee5\u4f9b<br \/>\ncanvas \u8fd0\u884c\u65f6\u8c03\u7528cairo\u7684\u52a8\u6001\u94fe\u63a5\u5e93 libcairo-2.dll \u7b49;<\/p>\n<p>7.\u6700\u540e npm install canvas , \u671f\u95f4\u5c06\u81ea\u52a8\u8fd0\u884cMsBuild \u7f16\u8bd1\u751f\u6210 canvas.node<br \/>\n\u672c\u5730\u76ee\u6807\u5e93,<\/p>\n<p>\u751f\u6210\u7684\u76ee\u6807\u5e93\u4f4d\u4e8e path\\to\\node_modules\\canvas\\build\\Release\\canvas.node;<\/p>\n<p>8.DOS\u547d\u4ee4\u884c\u4e0b: CD \u8fdb\u5165 canvas\\build\\Release\\ \u8fd9\u4e2a\u76ee\u5f55, \u8fd0\u884c node<br \/>\n\u6d4b\u8bd5canvas\u662f\u5426\u5b89\u88c5\u6210\u529f:<\/p>\n<p>C:\\path\\to\\node\\node_modules\\canvas\\build\\Release> node.exe<\/p>\n<p>var canvas = require(&#8216;.\/canvas&#8217;);<\/p>\n<p>\u82e5\u663e\u793a undefined , \u800c\u4e0d\u662f\u9519\u8bef\u4fe1\u606f ,\u5e94\u8be5\u5c31\u5b89\u88c5\u6210\u529f\u4e86.<\/p>\n<p>\u82e5\u663e\u793aUnable to load shared library \u5219\u53ef\u80fd\u662f GTK\\bin<br \/>\n\u76ee\u5f55\u672a\u5728PATH\u8def\u5f84\u4e2d,\u6dfb\u52a0\u4e0a\u5373\u53ef.<br \/>\n\u53c2\u8003\u8bf4\u660e:<\/p>\n<p>https:\/\/github.com\/LearnBoost\/node-canvas\/wiki\/Installation&#8212;Windows<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1.\u5148\u5b89\u88c5 Python; \u901a\u8fc7Python \u5b98\u7f51 http:\/\/www.python.org\/getit\/ &#8230;<\/p>\n","protected":false},"author":2,"featured_media":228,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[38],"tags":[233,66],"_links":{"self":[{"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/posts\/2121"}],"collection":[{"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/comments?post=2121"}],"version-history":[{"count":1,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/posts\/2121\/revisions"}],"predecessor-version":[{"id":2122,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/posts\/2121\/revisions\/2122"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/media\/228"}],"wp:attachment":[{"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/media?parent=2121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/categories?post=2121"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/tags?post=2121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}