仅在参数列表后的窗口中运行npm start(ng serve)'SyntaxError:missing)时出现错误

时间:2019-06-07 00:52:39

标签: angular npm

npm start时出现以下错误

C:\Users\Me\Desktop\myProject\node_modules\.bin\ng:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
          ^^^^^^^

SyntaxError: missing ) after argument list
    at Module._compile (internal/modules/cjs/loader.js:721:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

此处将我的package.json设置为

  "scripts": {
    "start": "node --max_old_space_size=8192 node_modules/.bin/ng serve --configuration=dev",
    }

这很奇怪,因为当我在同一个项目上但在Mac上时,我可以使npm start正常工作。一定是Windows的东西。

有什么建议吗?

3 个答案:

答案 0 :(得分:5)

在Windows上,请勿使用ng目录中的node_modules/.bin脚本,而应使用@angular/cli/bin目录中的脚本。

"scripts": {
    "start": "node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng serve --configuration=dev",
     }

答案 1 :(得分:0)

请与您的代码进行比较...

!/ bin / sh

basedir = $(dirname“ $(echo” $ 0“ | sed -e's,\,/,g')”)

案例uname在      CYGWIN )basedir = {cygpath -w "$basedir" ;; esac

if [-x“ $ basedir / node”];然后   “ $ basedir /节点”“ $ basedir /../@ angular / cli / bin / ng”“ $ @”   ret = $? 其他   节点“ $ basedir /../@ angular / cli / bin / ng”“ $ @”   ret = $? 科幻 退出$ ret

答案 2 :(得分:0)

我正在 package.json 文件

中使用以下配置
"scripts": {
 "test": "node --inspect node_modules/.bin/cross-env API_HOST=url ember serve",
}

以上配置适用于Linux计算机。但是我有一台Windows机器,并且在 npm运行测试期间出现此错误。

就我而言,当我删除 node --inspect 而不是它对我的工作时。

 "test": "node_modules/.bin/cross-env API_HOST=url ember serve",