PUMA ArgumentError:找不到登录名-扩展'〜'

问题描述 投票:1回答:1

由于某种原因无法启动Puma。收到此错误

ArgumentError: couldn't find login name -- expanding `~'

带有下面的回溯图

Feb 03 15:44:21 shopify-shipping-refactor puma[3061]: Done in 1.33s.
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: rake aborted!
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: ArgumentError: couldn't find login name -- expanding `~'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/pry_class.rb:5:in `expand_path'     
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/pry_class.rb:5:in `<class:Pry>'     
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/pry_class.rb:1:in `<top (required)>'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry.rb:119:in `require'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry.rb:119:in `<top (required)>'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/bundler-2.1.4/lib/bundler/runtime.rb:74:in `require'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/bundler-2.1.4/lib/bundler/runtime.rb:74:in `block (2 levels) in require'        
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `each'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `block in require'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `each'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `require'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/bundler-2.1.4/lib/bundler.rb:174:in `require'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /opt/shopify_shipping_refactor/config/application.rb:7:in `<top (required)>'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /opt/shopify_shipping_refactor/Rakefile:4:in `require'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /opt/shopify_shipping_refactor/Rakefile:4:in `<top (required)>'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `eval'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: /usr/local/rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `<main>'
Feb 03 15:44:25 shopify-shipping-refactor puma[3061]: (See full trace by running task with --trace)
Feb 03 15:44:25 shopify-shipping-refactor systemd[1]: puma.service: Control process exited, code=exited status=1
Feb 03 15:44:25 shopify-shipping-refactor systemd[1]: Failed to start puma.service.
Feb 03 15:44:25 shopify-shipping-refactor systemd[1]: puma.service: Unit entered failed state.
Feb 03 15:44:25 shopify-shipping-refactor systemd[1]: puma.service: Failed with result 'exit-code'.
ruby puma
1个回答
0
投票

Analysis: Ruby的expand_path调用基于C的运行时(模糊了堆栈跟踪),但最终以rb_default_home_dir结尾找出rb_default_home_dir是什么。此方法依靠'~'环境变量来解决,并退回到$HOMEgetlogin())和getlogin(3)(如果不可用)。

原因:您看到的错误消息来自该后备失败,因为(大概)您的进程未向控制tty和登录用户注册。

解决方案:运行puma时设置$ HOME。当指定getpwnam()时,使用您希望Puma用作主目录的目录。

© www.soinside.com 2019 - 2024. All rights reserved.