使用Node.io运行作业时出现问题

问题描述

| 我正在这里尝试完成Node.io的教程工作。运行内置模块没有问题:
echo \"mastercard.com\" | node.io -s pagerank
要么:
node.io query \"http://www.reddit.com/\" a.title
但是,当我尝试自己的模块时:
var nodeio= require(\'node.io\');
exports.job = new nodeio.Job({
input: false,run: function() {
    this.emit(\'Hello World\');
}
}); 并尝试使用以下命令运行它:
node.io hello
我得到这个:
ERROR: Failed to load job \"hello\". Please check that the job exists and compiles correctly.
调试给了我这个:
DEBUG: {\"stack\":\"Error: Cannot find module \'node.io\'\\n    at Function._resolveFilename (module.js:322:11)\\n    at Function._load (module.js:267:25)\\n    at require (module.js:351:19)\\n    at Object.<anonymous> (/Users/username/Documents/Nodejs/hello.js:1:75)\\n    at Module._compile (module.js:407:26)\\n    at Object..js (module.js:413:10)\\n    at Module.load (module.js:339:31)\\n    at Function._load (module.js:298:12)\\n    at require (module.js:351:19)\\n    at [object Object].loadJob (/opt/local/lib/node_modules/node.io/lib/node.io/processor.js:294:37)\",\"message\":\"Cannot find module \'node.io\'\"}
我确定我正在做一些愚蠢的事情。有什么想法吗? 编辑:回答下面的答案 我也尝试过:
.npm/node.io/0.2.9-4/package/bin/io -s hello.js
和:
node_modules/node.io/bin/node.io -s hello.js
并得到以下结果:
node.js:134
    throw e; // process.nextTick error,or \'error\' event on first tick
    ^
Error: Cannot find module \'node.io\'
at Function._resolveFilename (module.js:322:11)
at Function._load (module.js:267:25)
at require (module.js:351:19)
at Object.<anonymous> (/Users/thaymore/.npm/node.io/0.2.9-4/package/bin/io:2:1)
at Module._compile (module.js:407:26)
at Object..js (module.js:413:10)
at Module.load (module.js:339:31)
at Function._load (module.js:298:12)
at Array.<anonymous> (module.js:426:10)
at EventEmitter._tickCallback (node.js:126:26)
    

解决方法

        我能够使它像这样运行:
$ npm install node.io
$ node_modules/node.io/bin/node.io -s test.js
Hello World!
其中“ 10”简单来说是:
var nodeio = require(\'node.io\');
exports.job = new nodeio.Job({
    input: false,run: function () {
        this.emit(\'Hello World!\');
    }
});
    ,        这是NPM如何安装包括node.io的模块的“功能”,以便以后可以由节点找到。如果仔细查看堆栈,错误是节点无法找到node.io本身。最简单的解决方案是安装到您的主目录,因为默认设置知道如何从该目录进行操作。使用不带-g选项的\“ npm install node.io \”。如果确实使用-g,请准备好使用NODE_PATH或其他几个选项,请参阅isaacs的通讯。无论哪种方式,\“ node hello \”现在都可以使用。 警告节点社区不要害怕强硬的意见,在选择最适合您的情况的技术解决方案时,恕我直言,很多意见都可以当成噪音。     ,        我遇到了同样的问题,这对我有用。
NODE_PATH=\"$NODE_JS_HOME/lib/node_modules/\";
export NODE_PATH
将以上内容放置在
/etc/profile
~/.profile
上,ѭ15安装在
node.js
edit:
此页面http://nodejs.org/api/modules.html还建议将
node_modules
文件夹放入
$NODE_PATH