在Node.js更新(v7.1.1-> v8.11.4(或10.9.0))之后,任何npm脚本都会打开新的终端会话,并且不执行任何操作。 因此,对于具有仅包含“ node ./index.js”的脚本“ start”的默认选项的新创建项目,这是可重复的。 “ index.js”本身仅包含一个命令行的console.log,因此应该没有任何问题。 但是我只能在终端中得到以下内容:
C:\dev\node\test>npm start
> test@1.0.0 start C:\dev\node\test
> node ./index.js
Microsoft Windows [Version 10.0.17134.228]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\dev\node\test>
就是这样。没有console.log,没有任何错误。只是新的控制台过程。 什么原因会导致这种问题?
npm ver 6.2.0
node ver 10.9.0
EDIT :了解如何解决此问题。您必须将节点的脚本外壳更改为非cmd的内容(例如PowerShell):
npm config set script-shell "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
不确定为什么会发生这种情况,以及从哪个版本开始表现出来。因此,对此的任何见解将不胜感激。