致命:Chef::Exceptions::JSON::EncodeError:无效的UTF-8字符串:无法编码为UTF-8

致命:Chef::Exceptions::JSON::EncodeError:无效的UTF-8字符串:无法编码为UTF-8,utf-8,chef-infra,Utf 8,Chef Infra,在我的虚拟机上安装chef server时,我遇到以下错误 FATAL: Chef::Exceptions::JSON::EncodeError: Invalid UTF-8 string: cannot encode to UTF-8 我的主厨是 Chef::Exceptions::JSON::EncodeError: Invalid UTF-8 string: cannot encode to UTF-8 /opt/opscode/embedded/lib/ruby/gems/2.1.0/

在我的虚拟机上安装chef server时,我遇到以下错误

FATAL: Chef::Exceptions::JSON::EncodeError: Invalid UTF-8 string: cannot encode to UTF-8
我的主厨是

Chef::Exceptions::JSON::EncodeError: Invalid UTF-8 string: cannot encode to UTF-8
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/json_compat.rb:107:in `rescue in to_json'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/json_compat.rb:104:in `to_json'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http/json_input.rb:35:in `handle_request'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:222:in `block in apply_request_middleware'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:220:in `each'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:220:in `inject'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:220:in `apply_request_middleware'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:141:in `request'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:118:in `put'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/node.rb:512:in `save'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/client.rb:257:in `save_updated_node'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/client.rb:403:in `run'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application.rb:243:in `run_with_graceful_exit_option'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application.rb:220:in `block in run_chef_client'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/local_mode.rb:38:in `with_server_connectivity'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application.rb:201:in `run_chef_client'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application/client.rb:328:in `run_application'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application.rb:58:in `run'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/bin/chef-client:26:in `<top (required)>'
/opt/opscode/embedded/bin/chef-client:23:in `load'
/opt/opscode/embedded/bin/chef-client:23:in `<main>'
~
~
~
Chef::Exceptions::JSON::EncodeError:无效的UTF-8字符串:无法编码为UTF-8
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/json_compat.rb:107:“救援到_json”
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/json_compat.rb:104:in`to_json'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http/json\u input.rb:35:in'handle\u request'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:222:“应用请求中间件中的块”
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:220:in'each'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:220:in'inject'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:220:在“应用请求中间件”中
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:141:在“请求”中
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/http.rb:118:in'put'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/node.rb:512:in'save'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/client.rb:257:在“保存更新节点”中
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/client.rb:403:in'run'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application.rb:243:in'run_with_优雅_退出_选项'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application.rb:220:in'block in run_chef_client'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/local_mode.rb:38:in“与服务器连接”
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application.rb:201:in'run\u chef\u client'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application/client.rb:328:in'run_application'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application.rb:58:in'run'
/opt/opscode/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/bin/chef-client:26:in`'
/opt/opscode/embedded/bin/chef客户端:23:在“加载”中
/opt/opscode/embedded/bin/chef客户端:23:in`'
~
~
~
我几乎什么都试过了。我意识到这个问题与编码有关,但无法解决它。感谢您的帮助。
谢谢。

我认为这应该在
12.4.0版中修复


您的节点的区域设置是什么,哪个分布?尝试使用
LC\u ALL=en\u US.utf8 chef client
以查看这是否解决了问题。@Tensibai我正在尝试设置服务器。我在前面设置了LC_ALL=en_US.UTF-8。但它没有工作。@Tensibai发行版是ubuntu 12.04。我将所有语言环境变量设置为en_US.UTF-8,因此节点对象中可能有不符合UTF-8的内容、用户名或其他属性……我也遇到了此错误。一些附加信息:我正在AWS EC2实例上运行Ubunutu 16.04上的chef。我使用
apt install chef
安装了chef 12.3.0。我使用堆栈跟踪中的简单hello-world-MOTD配方运行chef-client--local-mode hello.rb时出现此错误,与上面的方法几乎相同。