在node.js中使用“自然”模块

时间:2012-10-15 02:53:59

标签: node.js

我正在尝试使用Node.JS中的自然模块。我编写了一个简单的程序,它从浏览器获取输入并使用贝叶斯分类器对其进行分类。但是,在运行时,我收到以下错误:

/home/hadoop/cloud_major/testing/node_modules/natural/node_modules/apparatus/lib/apparatus/classifier/bayes_classifier.js:95
 classifier.__proto__ = BayesClassifier.prototype;
                      ^
TypeError: Cannot set property '__proto__' of undefined
at Function.restore (/home/hadoop/cloud_major/testing/node_modules/natural/node_modules/apparatus/lib/apparatus/classifier/bayes_classifier.js:95:27)
at restore (/home/hadoop/cloud_major/testing/node_modules/natural/lib/natural/classifiers/bayes_classifier.js:37:54)
at /home/hadoop/cloud_major/testing/node_modules/natural/lib/natural/classifiers/bayes_classifier.js:44:23
at /home/hadoop/cloud_major/testing/node_modules/natural/lib/natural/classifiers/classifier.js:114:13
at fs.readFile (fs.js:176:14)
at Object.oncomplete (fs.js:297:15)

现在,为了研究,我在另一个Node.JS模块中遇到类似问题的人经历了以下线程: https://github.com/andris9/mailcomposer/issues/6 我按照卸载并重新安装自然的解决方案,没有任何帮助。 我还发现:http://tommytcchan.blogspot.in/2012_07_01_archive.html我使用了npm ls来获取:

├─┬ natural@0.1.17
│ ├─┬ apparatus@0.0.6
│ │ └── sylvester@0.0.21
│ └── underscore@1.4.2

然后,我通过了Find the version of an installed npm package并获得了以下输出:

├─┬ natural@0.1.17
│ ├─┬ apparatus@0.0.6
│ │ └── sylvester@0.0.21
│ └── underscore@1.4.2

即。我认为已安装软件包的本地版本与所需的依赖项相匹配。是否有其他人使用过该软件包,并设法调试此错误?

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

只是一个猜测,但我认为这是由于初始化不当造成的。

TypeError: Cannot set property '__proto__' of undefined

当我尝试使用我忘记首先初始化的对象的属性时,我得到类似的错误。根据错误进行猜测,您可能未定义或初始化classifier,使其成为undefined。您无法在undefined上设置或使用属性。

以下是类似的帖子:

  1. JavaScript - cannot set property of undefined
  2. Cannot Set Property ... of undefined --- bizarre