如何在node.js上安装fabric.js

5
我正在尝试在已安装node.js的Synology NAS上安装fabric.js。我首先使用bower install fabric进行安装,这样下载并复制了文件,但没有将它们安装到node_modules中,因此fabric模块无法正常工作。然后我尝试使用npm install fabric进行安装,但是我遇到了node_gyp错误,找不到make.env文件。由于我对node和Linux都很陌生,所以请原谅我可能愚蠢的问题。
谢谢。
1个回答

6
我并没有专门在Synology服务器上工作过,但我记得在设置我的最后一个服务器时也遇到了一些随机错误。我可能错了,但我认为将安装文件放在node_modules文件夹中就可以了。
几点想法:
依赖项
FabircJS要求同时安装canvas。这可以通过npm轻松完成,只需使用 npm install -g canvas命令即可。
安装范围
npm包可以本地安装(通过直接位置/文件夹访问)或全局安装。我个人更喜欢全局安装,这样它总是容易访问——我个人不知道任何缺点,但可能存在一些问题。要进行全局安装,只需向您的npm install命令添加-g标志。我相信,如果您在本地安装了一个软件包,在第二次使用全局标志进行安装时,会覆盖第一次安装。
参考链接:http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation 测试设置

测试您的安装是否正常工作。

  1. 在Linux命令行中,首先将目录更改为node_modules文件夹 - 对于我的服务器,它是cd /usr/lib/node_modules/
  2. 通过键入node来启动节点。
  3. 通过键入typeof require('canvas');来测试canvas是否已安装并正常工作。如果canvas正常工作,则应返回'function'
  4. 如果canvas正常工作,则通过键入typeof require('fabric');来测试FabricJS是否也正常工作。如果一切正常工作,则会返回'object',并且FabricJS已安装并正常工作。

参考:http://promincproductions.com/blog/installing-fabricjs-for-nodejs-on-linux/

在Node服务器中要求

既然您知道它已安装并正常工作,下一步就是使其在脚本中起作用。唯一的真正诀窍是在脚本顶部要求模块。

var fabric = require('fabric').fabric;

现在应该可以正常工作,但如果不行,您可能需要通过路径指定您的require,而不是像上面那样使用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

非常感谢您提供这么详细的逐步解答。我很快就意识到问题可能是由于Synology机器上缺少许多依赖项,因为它并不是一个开发环境。因此,我在一台备用机器上安装了Ubuntu,并非常容易地安装了fabric及其所有依赖项。现在轮到我编写利用这个惊人库的惊人代码了。尽管如此,我仍将遵循您的指示,并尝试在我的Synology NAS上完成安装。再次感谢您。 - Franck Dervaux

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接