【发布时间】:2018-10-10 14:07:39
【问题描述】:
所以我的 rails 后端在 3001 端口运行,并且 React 前端可能在 3000 端口运行。
我想设置一个简单的rake start 任务来启动两者。
为此,我使用了foreman gem,它在我运行时完美运行:foreman start -f Procfile.dev。
但是:当我运行我的任务时:rake start,我收到以下错误:
Running via Spring preloader in process 36257
15:56:57 web.1 | started with pid 36258
15:56:57 api.1 | started with pid 36259
15:56:57 api.1 | /usr/local/opt/rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/foreman-0.64.0/bin/foreman-runner: line 41: exec: PORT=3001: not found
15:56:57 api.1 | exited with code 127
15:56:57 system | sending SIGTERM to all processes
15:56:57 web.1 | terminated by SIGTERM
这是我的start.rake 文件:
namespace :start do
desc 'Start dev server'
task :development do
exec 'foreman start -f Procfile.dev'
end
desc 'Start production server'
task :production do
exec 'NPM_CONFIG_PRODUCTION=true npm run postinstall && foreman start'
end
end
task :start => 'start:development'
还有我的Procfile.dev 文件:
web: cd client && PORT=3000 npm start
api: PORT=3001 && bundle exec rails s
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails reactjs foreman