Rob*_*opp 5 windows bash node.js
我有一个package.json文件,看起来像:
{
"name": "APP",
"version": "3.0.0",
"private": true,
"scripts": {
"start": "node app.js",
"test": "./test/dbLoad && env db=test test=1 jasmine"
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行npm测试时,我收到一个错误:
'.' is not recognized as an internal or external command
Run Code Online (Sandbox Code Playgroud)
我猜这是因为节点正在使用Windows cmd.exe
.如果我在前面加上命令,该命令工作正常bash
.我可以在节点中更改某种配置设置,以便它自动使用bash吗?
将 NPM 设置script-shell
为指向 Git Bash(注意较新的路径):
npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"
这告诉NPM在您定义的运行脚本package.json
(如start
或test
使用指定的外壳,而不是默认,这在Windows上是)cmd.exe
。请参阅https://docs.npmjs.com/misc/config#script-shell。
是的你可以!
在跑步之前npm run
你应该做:
set comspec=your_bash.exe_folder
Run Code Online (Sandbox Code Playgroud)
NPM包,检查comspec环境,并在win32上运行它.默认情况下ComSpec=C:\windows\system32\cmd.exe
有关更多信息,您可以看到NPM的源代码:lifecycle.js(第219行)
Run Code Online (Sandbox Code Playgroud)if (process.platform === 'win32') { sh = process.env.comspec || 'cmd' shFlag = '/d /s /c' conf.windowsVerbatimArguments = true }
您可以使用注册表默认将环境comspec设置为bash.如果您需要任何帮助,请发表评论.
归档时间: |
|
查看次数: |
2305 次 |
最近记录: |