我正在尝试在安装了 node.js 的 Synology nas 上安装 fabric.js。我首先使用 bower install fabric 安装。那已经下载并复制了文件,但没有将它们安装在 node_modules 中,因此结构模块不起作用。然后我尝试使用 npm install fabric 安装,但我得到 node_gyp 错误,找不到 make.env 文件。我是 node 和 Linux 的新手,所以请原谅这个可能愚蠢的问题。
谢谢
我没有专门在 Synology 服务器上工作过,但我记得在设置我的最后一个服务器时也遇到了一些随机错误。我可能是错的,但我相信将安装文件放在 node_modules 文件夹中就可以了。
一些想法:
依赖项
FabircJS 也要求安装画布。这可以通过 npm 轻松完成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');
。如果画布工作正常,您应该会看到'function'
返回。typeof require('fabric');
。如果一切正常,那么您将看到'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