尝试将我的应用程序(Node,React,Socketio)部署到Heroku会给我“ sh:1:react-scripts:权限被拒绝”

时间:2018-11-10 05:09:53

标签: node.js reactjs heroku

因此,我正在尝试制作我的第一个React应用。我在本地工作得很好。问题是我无法将项目上传到Heroku。

这是我的应用设置: my file arrangement。我从create-react-app开始构建了该应用程序,将整个内容包装在一个“ client”文件夹中,并创建了一个普通的节点服务器布置outside。除了添加socketio依赖项外,我没有碰过我的react app的package.json”,只是create-react-app就是这样。

尝试上传时,我在控制台上收到此错误: "sh: 1: react-scripts: Permission denied"

我经历了https://devcenter.heroku.com/articles/nodejs-support,但无济于事。

这是我的“外部” package.json脚本和依赖项

"scripts": {
    "client": "npm start --prefix client",
    "server": "node server.js",
    "start": "concurrently \"npm run server\" \"npm run client\"",
    "heroku-postbuild": "cd client && npm run build"
},
"dependencies": {
    "concurrently": "^4.0.1",
    "express": "^4.16.4"
    "socket.io": "^2.1.1"
}

更新:

我还没有使我的应用程序正常工作,但是我终于找到了一些有趣的东西。

此:https://github.com/mars/heroku-cra-node

看起来像一个准系统应用程序,基本上可以将我的东西放到它上,并使其在Heroku上运行。我还没有添加代码,我会报告。

更新:

是的,似乎已经超出了此许可BS。现在我只需要处理使socket.io客户端连接... -_-

1 个答案:

答案 0 :(得分:0)

将脚本更改为此:

  "scripts": {
    "start": "node index.js",
    "server": "nodemon index.js",
    "client": "npm run start --prefix client",
    "dev": "concurrently \"npm run server\" \"npm run client\"",
    "heroku-postbuild": "NPM_PRODUCTION=false npm install --prefix client && npm run build --prefix client",
  },

npm run dev将以开发模式启动服务器和客户端...

您还可以安装nodemon来简化生活...