如何在带有节点的Windows CMD中运行文件

时间:2015-11-20 15:12:23

标签: linux node.js windows bash npm

我在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

1 个答案:

答案 0 :(得分:1)

您的setup-hooks文件是一个shell文件,Windows上默认不支持该文件。

您需要安装类似Git for Windows的内容,它附带一个出色的bash模拟器。或者,您可以尝试CygwinPowershell

运行npm run setup-hooks会调用setup-hooks中的任何命令,就像它是可执行文件一样。如果您只是尝试使用git bash从该文件夹中运行./scripts/setup-hooks,则很可能会失败。尝试添加.sh扩展名以鼓励git bash将其识别为可执行文件:

./scripts/setup-hooks.sh