下面的NPM脚本在Linux和MacOS上可以正常运行,但在Windows上则不能运行。 我尝试搜索某种解决方案,但找不到解决方案!
"scripts": {
"install-dependencies": "if [ ! -d node_modules ]; then npm install && npx npm-install-peers; fi",
},
我得到的错误是:
> if [ -d node_modules ==false ]; then npm install && npx npm-install-peers; fi
-d was unexpected at this time.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
有什么方法可以使它在Windows系统上正常工作吗?
答案 0 :(得分:1)
Windows命令行在其他系统上不等同于bash。您将需要通过某种方式安装bash(例如git用于Windows的bash),然后在该shell中调用npm。
此软件包也相关,但同样不能解决问题:https://www.npmjs.com/package/cross-env
评论的跟进。 Node.js 已在需要运行此代码的所有位置兼容。因此,我建议在npm script命令中仅使用node运行脚本。
{
"install-dependencies": " node -e 'process.exit(require(`fs`).existsSync(`node_modules`) ? 0 : 1)' && echo 'succ'"
}