运行TypeORM迁移命令时遭遇Node错误,寻求解决办法
解决方案
修正命令格式与环境变量位置
原脚本的问题在于DB_PORT=4420的位置错误,且多余了npx run指令。将环境变量放在命令最前端,同时简化npx调用:"migration:run": "DB_PORT=4420 dotenv -e ../.env npx typeorm migration:run"跨平台兼容方案(Windows适用)
如果是Windows系统,直接用DB_PORT=4420设置环境变量不生效,需先安装cross-env:yarn add cross-env --dev再修改脚本:
"migration:run": "cross-env DB_PORT=4420 dotenv -e ../.env npx typeorm migration:run"更简洁的替代方案
直接将DB_PORT=4420写入../.env文件,dotenv加载时会自动读取该变量,脚本可简化为:"migration:run": "dotenv -e ../.env npx typeorm migration:run"
错误原因解析
原脚本中,dotenv会将DB_PORT=4420识别为需要执行的命令而非环境变量,系统找不到名为DB_PORT=4420的可执行文件,因此抛出Error: spawn DB_PORT=4420 ENOENT错误。此外,npx run属于冗余指令,npx本身即可直接调用typeorm命令。
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

