Windows运行GitHub项目执行npm run server报错'.'不是内部命令求解
Windows运行reactive-angular-course项目server命令报错解决方案
报错根因
该项目package.json中默认的server脚本使用了类Unix系统的路径写法,Windows原生的cmd/PowerShell无法识别./node_modules/.bin/格式的相对路径执行指令,Mac属于类Unix系统所以可以正常运行。
可选择的解决方法
- 方案1:修改项目package.json配置(推荐,一劳永逸)
打开项目根目录的package.json文件,找到scripts字段下的server配置:
原配置:
修改为:"server": "./node_modules/.bin/ts-node -P ./server/server.tsconfig.json ./server/server.ts"
保存后重新执行"server": "npx ts-node -P ./server/server.tsconfig.json ./server/server.ts"npm run server即可正常启动服务,npx为npm内置工具,天然支持跨平台识别node_modules下的可执行文件。 - 方案2:临时运行无需修改配置
直接在终端输入以下命令启动服务即可:npx ts-node -P ./server/server.tsconfig.json ./server/server.ts - 方案3:使用WSL环境运行
如果你不想修改项目原有配置,可以开启Windows的WSL Linux子系统,在WSL终端中执行npm run server,运行逻辑和Mac完全一致,不会出现路径兼容问题。
注意事项
执行上述操作前请确认已经在项目根目录执行过npm install完成所有依赖安装,避免出现ts-node缺失的报错。
内容的提问来源于stack exchange,提问作者Ashwani kumar
相关产品推荐
相关产品推荐

