0

Appveyor を使用して Windows でノード テストを実行していますが、1 つの環境でのみ問題が発生しました: ノード 0.10 の Powershell です。

他の Node バージョンでは、次のような出力が得られます。

npm test # PowerShell
#...

TAP version 13
# find rc file in third searched dir, with a package.json lacking prop
ok 1 should be equal
ok 2 first dir: checked /a/b/c/d/e/f/package.json
ok 3 first dir: checked /a/b/c/d/e/f/.foorc
# ...

1..72
# tests 72
# pass  72

# ok

npm test
# ...

しかし、Node 0.10.40 で npm 1.4.28 を使用すると、次のようになります。

npm test # PowerShell
#...

TAP version 13
# find rc file in third searched dir, with a package.json lacking prop
ok 1 should be equal
ok 2 first dir: checked /a/b/c/d/e/f/package.json
ok 3 first dir: checked /a/b/c/d/e/f/.foorc
# ...

1..72
# tests 72
# pass  72

# ok

npm : 
At line:1 char:1
+ npm test # PowerShell
+ ~~~~~~~~
    + CategoryInfo          : NotSpecified: (:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

C:\projects\cosmiconfig\test\a\b\foo.config.js:1
quire, module, __filename, __dirname) { module.exports = { found: true: false,
                                                                      ^

Command executed with exception: C:\projects\cosmiconfig\test\a\b\foo.config.js:1
quire, module, __filename, __dirname) { module.exports = { found: true: false,
                                                                      ^

それが不平を言っているコード行は意図的なエラーであり、テストの一部であり、(私は信じている) キャッチされて処理され、テストはそのエラーが発生したことを確認することです。

Windows のみの Node 0.10 (これは Travis 経由の Unix では発生しません) でこの問題が発生するのはなぜですか? 修正するにはどうすればよいですか?

(トラブルシューティングのために他の詳細が必要な場合はお知らせください。何がうまくいかないのか、何を共有すればよいかわかりません。)

4

1 に答える 1

0

古いバージョンの npm は stderr に何かを書き込むように見えますが、実際にはエラー コードでプロセスを終了しません。@PetSerAlが言ったように、これが発生するとPowershellはエラーになりますが、他の端末はそうではありません。解決策は、これらのテストを Powershell で実行しないことだけのようです。

参照。http://help.appveyor.com/discussions/problems/2347-npm-275prefer-global-warning-causes-failure-command-executed-with-exceptionおよびhttps://github.com/npm/npm/issues/ 8517

于 2015-11-15T13:46:41.707 に答える