我正试图启动 Puma,但在最后一步它失败了,错误信息如下:
16:38:09 web.1 | /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:130:in `initialize': No such file or directory @ rb_sysopen - tmp/pids/puma.pid (Errno::ENOENT)
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:130:in `open'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:130:in `write_pid'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:103:in `write_state'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/single.rb:92:in `run'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:174:in `run'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/cli.rb:77:in `run'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/bin/puma:10:in `<top (required)>'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/bin/puma:23:in `load'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/bin/puma:23:in `<main>'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/bin/ruby_executable_hooks:15:in `eval'
16:38:09 web.1 | from /home/ramonpm/.rvm/gems/ruby-2.2.7/bin/ruby_executable_hooks:15:in `<main>'
16:38:09 web.1 | exited with code 1
16:38:09 system | sending SIGTERM to all processes
在其他地方找不到解决方案,它们都与不同的事物有关。
tmp/pids/server.pid
,但实际上仍需要手动解决进程问题,感觉很奇怪吧?” - DannyBbundle exec rails server (puma)
命令。 如果使用bundle exec puma
启动服务器,则会跳过这个文件夹的创建,从而导致错误。 但如果两个命令都能产生相同的结果,那么就可以避免类似这样的错误。 - Harm de Witgit add -f
,并在.gitignore中添加一个排除项以不排除pids文件夹和.keep文件。 - jpwmkdir -p tmp/pids
的意思是递归创建一个名为tmp/pids
的目录。 - 7urkm3n.gitignore
以允许新路径进入Docker镜像时,请不要忘记更新您的.dockerignore
文件。 - Barry