我已经lint-staged
安装在一个多包存储库中。
结构是:
|-- package.json
|-- package-one
|-- package.json
|-- javascript
|-- package-two
|-- package.json
|-- javascript
我在同一台机器上的不同 repo 中有相同的设置,下面的工作没有错误。
我正在使用 lint-staged 在预提交时运行 eslint。每个子包中都有一个lint
npm 脚本。
在另一个存储库中,我毫无错误lint-staged
地调用每个包,但是,在这个存储库中,当针对阶段文件运行它时:
- 正确识别暂存文件
- 产生错误
npm could not be found. Try npm install npm.
- 如果我将 npm 脚本更改为简单,
"git add"
那么错误是git could not be found. Try npm install git.
运行which npm
在工作和非工作存储库中产生相同的结果。
Runningnpm install
或任何其他 npm 命令在直接运行时有效,但在通过lint-staged
.
我不知道是什么原因造成的?
"devDependencies": {
"husky": "^2.4.1",
"lint-staged": "^8.2.1",
},
"lint-staged": {
"packages/package-name/**/*.{js,jsx}": [
"npm run --silent lint --prefix packages/package-one"
]
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
}