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 に答える