2017-12-17 4 views
0

Module did not self registerエラーが発生しましたtalibavaを使用できなくなりました。モジュールがTalibとAVAに自己登録していません

私はノード8.9.0と同様に、AVAをアップグレードし、talibの安定したdevブランチを試しました。私も同様に順番にテストを行っています。もちろん、私はnode_modulesフォルダをクリアして再構築しました - これは明らかに私が投稿したようにノードのバージョンを変更する場合ではありません。

試験:

test.serial(t => { 
const talib = require('talib') 
}) 
test.serial(t => { 
const talib = require('talib') 
}) 

最初のテストの動作が、2つ以上がそのエラーをスロー。過去に私はclear-moduleimport-freshでモジュールをクリアしましたが、今回は成功しませんでした。

const clear = require('clear-module') 
const fresh = require('import-fresh') 
test.serial(t => { 
    clear.all('talib') 
    const talib = fresh('talib') 
}) 

答えて

0

このエラーの原因はわかりませんが、AVAはテストを非同期的に実行することを覚えておいてください。ファイルが最初にロードされたときではありません。 test.serial()の外にtalibを必要としますか?

+0

私はそうすることができますが、私のコードはテスト間で "リセット"しません。私は通常、リロードするには新鮮なものを使用し、node-configのような頑固なものについては、私はクリアモジュールを使用しますが、これは難しいことを証明します。私は、コード(すなわち、インライン)でそれを使用する瞬間にtalibを要求することによって、潜在的な成功を収めました(確認されません)。私はこのエラーの背後にある動作を理解したいと思います。通常、ノードバージョンの非互換性と関連しています。私はかなり確信していますが、これを修正できるかどうかはわかりません。 – cyberwombat

関連する問題