web-dev-qa-db-ja.com

Husky 4.x + Visual Studio Gitで動作していません

ハスキー 4.0.0でのパス処理を変更しました 。この変更後、コミットVisual Studio:から次のエラーをスローします。

_husky > pre-commit (node v12.12.0)/c/path/to/repo/node_modules/.bin/lint-staged: 
line 5: cygpath: command not foundinternal/modules/cjs/loader.js:797 throw err;

^Error: Cannot find module 'C:\lint-staged\bin\lint-staged.js' 
 at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15) 
 at Function.Module._load (internal/modules/cjs/loader.js:687:27)
 at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10) 
 at internal/main /run_main_module.js:17:11 { code: 'MODULE_NOT_FOUND', requireStack: []}

husky > pre-commit hook failed 
(add --no-verify to bypass)
_

ただし、cliからコミットするとき、それは期待どおりに機能します。エラーメッセージがファイルパスとして_'C:\lint-staged\bin\lint-staged.js'_があることを考えると、Visual StudioがPATHHINSを扱うことを想定していると仮定しています。

私はVisual Studio内からこの作品を作る方法を見つけようとしています。私は企業の環境にいます。

私は私のpackage.jsonに含まれているハスキー設定があります。

_...
"husky":{
    "hooks":{ "pre-commit": "lint-staged"}
},
"lint-staged":{
    "!(*.min.*)js": "eslint --fix"
},
...

_

私は現在使用しています:
[。] NVM 1.1.7でNode 12.16.1)
[。]ハスキー4.2.5
[。]糸段階10.1.3
[。] Visual Studio 2019.

9
Nick

私はそれが完全な説明ではありませんが、解決策を見つけました。簡単な仕事は、huskyコマンドを変更することです。

...
"husky":{
    "hooks":{ "pre-commit": "npx lint-staged"}
},
...
 _

Npmコマンドを指定すると、PATHHINSの問題が解決されます。私はこの対応の提案が、2018年からの問題に対する問題への提案、源泉板源、源泉源 こちら

1
Nick

私は同じCOMMITフックによって引き起こされる同様のエラーがありますが、yarn.jsが見つかりません:

/c/Users/xxx/AppData/Roaming/npm/yarn: line 5: cygpath: command not found
internal/modules/cjs/loader.js:968
  throw err;
  ^

Error: Cannot find module 'C:\program files (x86)\Microsoft visual studio\2019\enterprise\common7\ide\commonextensions\Microsoft\teamfoundation\team Explorer\Git\node_modules\yarn\bin\yarn.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Function.executeUserEntryPoint as runMain
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
 _

残念ながら、これは役に立ちません。

  "husky": {
    "hooks": {
      "pre-commit": "npx lint-staged"
    }
  },
 _

私は事前コミットフックを削除することによって問題を解決することができますが、これを回避したいです。

0
Denis Chernov