我正在尝试使用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
即。我认为已安装软件包的本地版本与所需的依赖项相匹配。是否有其他人使用过该软件包,并设法调试此错误?
非常感谢提前!
答案 0 :(得分:0)
只是一个猜测,但我认为这是由于初始化不当造成的。
TypeError: Cannot set property '__proto__' of undefined
当我尝试使用我忘记首先初始化的对象的属性时,我得到类似的错误。根据错误进行猜测,您可能未定义或初始化classifier
,使其成为undefined
。您无法在undefined
上设置或使用属性。
以下是类似的帖子: