4

我正在尝试使用 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

然后,我通过:找到已安装的 npm 包的版本并得到以下输出:

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

即我认为已安装包的本地版本与所需的依赖项匹配。有其他人使用过这个包,并设法调试了这个错误吗?

提前谢谢了!

4

1 回答 1

0

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

TypeError: Cannot set property '__proto__' of undefined

当我尝试使用我忘记首先初始化的对象的属性时,我会遇到类似的错误。从你可能没有定义或初始化的错误中猜测classifier,做出它undefined。你不能在undefined.

这是一个类似的帖子:

  1. JavaScript - 无法设置未定义的属性
  2. 无法设置未定义的属性......奇怪
于 2013-02-24T07:50:43.957 回答