我在 Linux
中运行这一行没有问题
> npm run setup-hooks -s
> '.' is not recognized as an internal or external command, operable program or batch file.
我试图让这个文件在 Windows 中运行,但就是无法理解它,尝试在 package.json
中使用 npm run
但是就是不知道怎么办。
package.json
"scripts": {
"setup-hooks": "./scripts/setup-hooks",
"preinstall": "npm run install-eslint -s && npm run prepare-hooks -s && npm run setup-hooks -s"
},
设置 Hook
#!/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
。
最佳答案
你的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
关于linux - 如何使用node在Windows CMD中运行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33830036/