我在Linux
中运行此行没有问题
> npm run setup-hooks -s
> '.' is not recognized as an internal or external command, operable program or batch file.
我试图让这个文件在Windows中运行,但是我无法绕过它,尝试使用npm run
内的package.json
,但是无法正常工作如何。
的package.json
"scripts": {
"setup-hooks": "./scripts/setup-hooks",
"preinstall": "npm run install-eslint -s && npm run prepare-hooks -s && npm run setup-hooks -s"
},
设置钩
#!/bin/sh
#DON'T SETUP THE HOOKS IF YOU ARE IN CI
if [ "$CONTINUOUS_INTEGRATION" != "true" ]; then
echo "Setting pre-commit hook"
ln -f -s "$PWD/scripts/pre-commit" .git/hooks/pre-commit
echo "Setting pre-push hook"
ln -f -s "$PWD/scripts/pre-push" .git/hooks/pre-push
fi
所以我希望能够从linux和windows中调用这个文件./scripts/setup-hooks
。
答案 0 :(得分:1)
您的setup-hooks
文件是一个shell文件,Windows上默认不支持该文件。
您需要安装类似Git for Windows的内容,它附带一个出色的bash模拟器。或者,您可以尝试Cygwin或Powershell
运行npm run setup-hooks
会调用setup-hooks
中的任何命令,就像它是可执行文件一样。如果您只是尝试使用git bash从该文件夹中运行./scripts/setup-hooks
,则很可能会失败。尝试添加.sh
扩展名以鼓励git bash将其识别为可执行文件:
./scripts/setup-hooks.sh