4

我正在尝试在安装了 node.js 的 Synology nas 上安装 fabric.js。我首先使用 bower install fabric 安装。那已经下载并复制了文件,但没有将它们安装在 node_modules 中,因此结构模块不起作用。然后我尝试使用 npm install fabric 安装,但我得到 node_gyp 错误,找不到 make.env 文件。我是 node 和 Linux 的新手,所以请原谅这个可能愚蠢的问题。

谢谢

4

1 回答 1

4

我没有专门在 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

测试设置

测试您的安装是否正常。

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

于 2014-12-17T12:47:27.840 回答