为node.js安装dust.js(错误:require.paths被删除...)

时间:2013-05-02 12:21:14

标签: node.js dust.js

我已经搜索了这篇文章并阅读了我在论坛中遇到的所有主题,但仍然无法让它发挥作用。

我正在尝试使用node.js

来使用dust.js

test.js:

var dust = require('dust');

运行它:

$ node test

Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
  at Function.Object.defineProperty.get (module.js:388:11)
  at Object.<anonymous> (/usr/local/lib/node_modules/dust/lib/server.js:6:8)
  at Module._compile (module.js:456:26)
  at Object.Module._extensions..js (module.js:474:10)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:312:12)
  at Module.require (module.js:364:17)
  at require (module.js:380:17)
  at Object.<anonymous> (/usr/local/lib/node_modules/dust/lib/dust.js:511:7)
  at Module._compile (module.js:456:26)

$ node -v
v0.10.5

我安装了'应该安装的灰尘:

$ npm install -g dust
npm http GET https://registry.npmjs.org/dust
npm http 200 https://registry.npmjs.org/dust
npm http GET https://registry.npmjs.org/dust/-/dust-0.3.0.tgz
npm http 200 https://registry.npmjs.org/dust/-/dust-0.3.0.tgz
dust@0.3.0 /usr/local/lib/node_modules/dust

我尝试过设置NODE_PATH:

export NODE_PATH="/usr/local/lib/node_modules"

export NODE_PATH="/usr/local/lib/node"

仍然没有任何作用..

2 个答案:

答案 0 :(得分:7)

问题是灰尘与您的节点版本不兼容。在0.6版本中,节点删除了require.paths方法,并且不再维护灰尘存储库,因此它只适用于节点0.4。

尝试具有许多新功能的LinkedIn版本,并且与新版本的节点完全兼容。

http://linkedin.github.io/dustjs/

答案 1 :(得分:0)

尝试这样的事情:

var dust = require('dustjs-helpers');

var compiled = dust.compile("Hello {name}!", "intro");

dust.loadSource(compiled);

dust.render("intro", {
    name: "Márcio"
}, function(err, out) {
    console.log(out);
});