我正在尝试在安装了node.js的synology nas上安装fabric.js. 我先安装了凉亭安装面料。这已经下载并复制了文件,但没有将它们安装在node_modules中,因此结构模块不起作用。 然后我尝试使用npm install fabric进行安装,但是我发现node_gyp错误没有找到make.env文件。 我是节点和Linux的新手,所以请原谅这个可能很愚蠢的问题。
由于
答案 0 :(得分:4)
我还没有专门在Synology服务器上工作,但我记得在设置我的最后一台服务器时遇到了一些随机错误。我可能是错的,但我相信在node_modules文件夹中安装你的文件就好了。
一些想法:
<强>依赖关系强>
FabircJS也要求安装画布。这可以通过npm install -g canvas
安装范围
npm包可以在本地安装(由直接位置/文件夹访问)或全局安装。我个人更喜欢全球安装,所以它总是随时可以访问 - 我不知道这个个人的任何缺点,但可能有一些。要全局安装,只需将-g
标志添加到npm install命令即可。我相信如果您在本地安装了一个软件包,那么使用全局标志再次安装它将覆盖第一次安装。
参考:http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation
测试设置
测试您的安装是否正常。
cd /usr/lib/node_modules/
。node
typeof require('canvas');
来测试画布是否已安装并正常工作。如果canvas正常工作,您应该看到'function'
返回。typeof require('fabric');
进行测试以查看FabricJS是否正常工作。如果一切正常,那么您将看到'object'
返回并且FabricJS已安装且运行良好。参考:http://promincproductions.com/blog/installing-fabricjs-for-nodejs-on-linux/
在节点服务器中需要
现在您知道它已安装且工作正常,下一步是让它在您的脚本中运行。这里唯一真正的技巧是要求脚本顶部的模块。
var fabric = require('fabric').fabric;
现在它应该可以正常工作,但如果它没有,你可能必须通过路径指定你的需求,而不是像上面所做的那样指定npm包名。我认为如果您没有在全球范围内安装FabricJS,则需要该路径。这看起来更像是:
var fabric = require('/usr/lib/node_modules/fabric').fabric;
参考:http://www.bennadel.com/blog/2169-where-does-node-js-and-require-look-for-modules.htm