当前位置: 首页 > news >正文

Windows 系统 上尝试直接运行 .sh(Shell 脚本)文件

这个错误是因为你在 Windows 系统 上尝试直接运行 .sh(Shell 脚本)文件,而 Windows 默认不支持 Unix/Linux 的 Shell 命令。以下是几种解决方案:


解决方案 1:使用 Git Bash(推荐)

如果你安装了 Git for Windows,它会自带 Git Bash,可以运行 .sh 文件:

  1. 修改 package.json
    "scripts": {"dev": "bash ./scripts/run_dev.sh --env=dev"
    }
    
  2. 运行
    npm run dev
    

解决方案 2:转换为 Windows 批处理文件(.bat)

如果不想依赖 Git Bash,可以 .sh 脚本转换成 .bat 脚本

  1. 新建 run_dev.bat(放在 ./scripts/ 目录下):
    @echo off
    REM 这里是原 run_dev.sh 的命令,改成 Windows 可执行的格式
    node server.js --env=dev
    
  2. 修改 package.json
    "scripts": {"dev": ".\\scripts\\run_dev.bat --env=dev"
    }
    
  3. 运行
    npm run dev
    

解决方案 3:使用 WSL(Windows Subsystem for Linux)

如果你使用 WSL(适用于 Linux 的 Windows 子系统),可以这样运行:

  1. 修改 package.json
    "scripts": {"dev": "wsl ./scripts/run_dev.sh --env=dev"
    }
    
  2. 运行
    npm run dev
    

解决方案 4:使用 shx(跨平台 Shell 命令)

  1. 安装 shx
    npm install --save-dev shx
    
  2. 修改 package.json
    "scripts": {"dev": "shx ./scripts/run_dev.sh --env=dev"
    }
    
  3. 运行
    npm run dev
    

解决方案 5:直接使用 Node.js 替代 Shell 脚本

如果 run_dev.sh 只是运行 Node.js 命令,可以直接在 package.json 里写:

"scripts": {"dev": "node server.js --env=dev"
}

然后运行:

npm run dev

总结

方案适用场景备注
Git Bash已安装 Git for Windows推荐,最接近 Linux 环境
.bat 转换纯 Windows 环境需手动改脚本
WSL已安装 WSL适合 Linux 兼容环境
shx需要跨平台支持需额外安装
直接 Node 命令脚本较简单无需 Shell

推荐做法

  • 个人开发Git Bashbash ./scripts/run_dev.sh
  • 团队项目提供 .bat.sh 双版本,或者用 shx 跨平台支持

这样,你的 npm run dev 就能在 Windows 上正常运行了! 🚀

http://www.dtcms.com/a/329042.html

相关文章:

  • 从感知到执行:人形机器人低延迟视频传输与多模态同步方案解析
  • 基于大数据spark的医用消耗选品采集数据可视化分析系统【Hadoop、spark、python】
  • ABP vNext 的工业时间序列治理:InfluxDB vs TimescaleDB 落地对比
  • Python 环境隔离实战:venv、virtualenv 与 conda 的差异与最佳实践
  • Electron自定义菜单栏及Mac最大化无效的问题解决
  • 【自动化运维神器Ansible】playbook变量文件深度解析:实现配置分离与复用
  • JS的学习5
  • 微软正式将GPT-5接入Microsoft Copilot Studio(国际版)
  • 单例模式的理解
  • 【密码学实战】国密TLCP协议简介及代码实现示例
  • FemalePower项目学习笔记
  • ASP.NET 上传文件安全检测方案
  • 怎么使用python查看网页源代码
  • FreeRTOS创建多线程详解
  • 基于微信小程序的工作日报管理系统/基于asp.net的工作日报管理系统
  • USB批量传输数据为端点最大数据包(比如512字节)整数倍时接收端收不到数据
  • Linux系统文件完整性检查工具AIDE在生产环境中推送钉钉告警
  • 音视频处理新纪元:12款AI模型的语音转录和视频理解能力横评
  • MySQL 到 ClickHouse 明细分析链路改造:数据校验、补偿与延迟治理
  • 前端css学习笔记4:常用样式设置
  • 2025盛夏AI热浪:八大技术浪潮重构数字未来
  • RC4算法实现
  • 前后端分离项目在云服务器的部署
  • java实现sql解析器 JSQLParser
  • 16-docker的容器监控方案-prometheus实战篇
  • 30 HTB Soccer 机器 - 容易
  • 【Android】四种不同类型的ViewHolder的xml布局
  • 双写一致性问题如何解决?
  • Python 元类基础:从理解到应用的深度解析
  • 机器翻译:学习率调度详解