2017-04-08 111 views
0

我有一個非常奇怪的問題。我剛剛更新了項目中的所有開發依賴關係,並破壞了我的dev:server腳本。現在,隨着新公共管理或紗線運行它時,我得到這樣的:node.js命令在終端中工作,但在npm中失敗

npm run dev:server 

> [email protected] 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

+0

你可以發佈package.json,或至少腳本部分? – ahz

+0

@ahz相關的任務是''dev:server「:」cross-env NODE_ENV =同時開發\「tsc -w -p ./server \」\「nodemon server \」「,' –

+0

你有腳本嗎?在你的'package.json'中啓動?如果是這樣,它是什麼?從命令字符串中刪除「tsc」或「nodemon」進程時它工作嗎? – robertklep

回答

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' }, 

您提到升級開發依賴關係後發生的問題。 cross-env是否依賴開發?這是你更新的依賴之一嗎? 如果您將其降級,您的腳本是否會再次開始工作?

我試着找到一個可能會導致錯誤的最近更改,但不能確定。也許這一個https://github.com/kentcdodds/cross-env/commit/ea8002130477f044e66508179394eea485583b2a

相關問題