node.js命令在终端中工作但在npm中失败

时间:2017-04-08 15:18:56

标签: node.js typescript npm nodemon yarnpkg

我有一个非常奇怪的问题。我刚刚更新了项目中的所有dev依赖项,并且它已经破坏了我的dev:server脚本。现在用npm或纱线运行时我得到了这个:

npm run dev:server

> my-proj@0.0.0 dev:server C:\Users\George\Source\Repos\my-proj
> cross-env NODE_ENV=development concurrently "tsc -w --project ./server" "nodemon server"

[2] 'server' is not recognized as an internal or external command,
[2] operable program or batch file.
[2] server exited with code 1
[0] Version 2.2.2
[0] Syntax:   tsc [options] [file ...]
[0]
[0]
[0] Examples: tsc hello.ts
[0]           tsc --outFile file.js file.ts
[0]           tsc @args.txt
[0]
[0] Options:
[0]  --allowJs                                          Allow javascript files to be compiled.
[0]  --allowSyntheticDefaultImports      
...              

tsc似乎在抱怨,因为它不明白它应该使用具有自己的tscofig文件的服务器目录。

但是在调查时我发现在完全相同的终端中运行cross-env NODE_ENV=development concurrently "tsc -w --project ./server" "nodemon server"工作正常吗?这表明这是一个npm或纱线虫,但是这些都没有更新,它们似乎不太可能突然发生同样的错误!

有什么想法吗?

注意:我正在使用Windows

1 个答案:

答案 0 :(得分:0)

cross-env最近更新为4.0.0版。

npm info cross-env | grep -B4 "4.0.0':"
 '3.2.2': '2017-03-04T16:13:55.420Z',
 '3.2.3': '2017-03-04T16:44:27.226Z',
 '3.2.4': '2017-03-14T16:24:01.735Z',
 '4.0.0-beta.0': '2017-03-27T01:51:04.557Z',
 '4.0.0': '2017-03-31T02:07:49.386Z' },

您提到升级dev依赖项后发生的问题。 cross-env是开发依赖吗?这是您更新的依赖项之一吗? 如果你降级它,你的脚本会重新开始工作吗?

我尝试找到最近的更改,可能会导致您看到的错误,但无法说清楚。也许这一个https://github.com/kentcdodds/cross-env/commit/ea8002130477f044e66508179394eea485583b2a