You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React嵌入Rails项目部署Heroku时遇cp命令错误求助

问题原因与解决方法

错误根源

部署失败的核心问题是npm deploy脚本里的cp命令格式写错了:

  • Rails根目录package.json的deploy脚本中,你把源路径es20client/build/.(用来复制build目录下所有内容,包括隐藏文件)和目标路径public/连在了一起,写成了es20client/build/.public/。
  • 这导致cp命令只识别到一个不存在的源路径,完全没收到目标目录参数,直接触发"missing destination file operand"错误。
  • 另外从cp --help输出能看出Heroku用的是BSD版本的cp,但这不是本次报错的直接原因。

修复步骤

  1. 打开Rails根目录的package.json文件
  2. 修改scripts里的deploy命令,在build/.和public/之间加一个空格:
    "deploy": "cp -a es20client/build/. public/",
    
  3. 提交修改并重新推送到Heroku:
    git add package.json
    git commit -m "Fix deploy script cp command format"
    git push heroku main
    

本地验证(可选)

可以在本地先测试命令是否正常工作:

rm -rf public
npm run build --prefix es20client
cp -a es20client/build/. public/

检查public目录是否正确包含React构建后的所有文件。

内容的提问来源于stack exchange,提问作者Jim Lagattuta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 01:40:27