2017-02-16 11 views
0

似たような質問が表示されない場合は、謝罪します。サイトを捜索して何も見つかりませんでした。ノードfs.unlink:エラーオブジェクトが異なるマシンで異なる

私のコードは、この(fs.unlinkをpromisifiedた後)のようになります。

return unlinkAsync(file) 
    .catch((err) => { 
     if (err.code === 'ENOENT') { 
      // Not a concern - file didn't exist, and that's ok 
     } else { 
      // Unexpected - propagate it up 
      throw err; 
     } 
    }); 

問題:私のマシン(OSXシエラ、ノード5.9.1)err.code上に存在する、との事です削除するファイルがない場合は正しく処理されます。 しかし、、別のマシン上 - Node-err.code の同じOSとバージョンは存在しません。 - 「コード」プロパティを持っていて、err.codeを持たない「原因」というプロパティがあります。

ノードのソースコードを検索しました(1ヶ月間のコーディングノードでしたが、何も見逃していないとは思いません)、ecodeの周りには何も期待できませんでした。

アドバイスやガイダンスをいただければ幸いです。

ありがとうございます! John

+0

サードパーティのモジュール/アドオンを除外しましたか? – mscdex

+0

正直言って、私はそれも考えていませんでした(しかしノードには新しくありません)。しかし、私はマシンがerr.codeを公開していない開発者にチェックします - ありがとう! – John

答えて

0

最終的に、最新のバージョン(3.4.7)でerr.codeが提供され、古いバージョンのBluebird(1.2.4)が他のdevマシン(thanks @mscdex!しなかった。

しかし、もっと深いレベルでは、私が期待しているBluebirdのバージョンを含むようにpackage.jsonを更新することを怠ったため、これが起こりました。

ありがとうございます!

関連する問題