1

我想使用 Zabbix API 运行 JSON 请求,但出现以下错误:

Can't locate JSON/RPC/Client.pm in @INC (@INC contains: /usr/local/lib64/perl5 
/usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl                 
/usr/lib64/perl5 /usr/share/perl5 .) at ./test.perl line 6.

我正在使用 Fedora 17,但找不到名为: 的包libjson-rpc-perl。我已经安装了以下软件包:

perl-CGI-Application-Plugin-JSON.noarch                                          1.02-   5.fc17                                                            fedora                      
perl-Catalyst-View-JSON.noarch                                                   0.30-5.fc17                                                            fedora                      
perl-JSON-Any.noarch                                                             1.29-1.fc17                                                            fedora                      
perl-JSON-Any-tests.noarch                                                       1.29-1.fc17                                                            fedora                      
perl-JSON-PP.noarch                                                              2.27200-3.fc17                                                         fedora                      
perl-JSON-Path.noarch                                                            0.101-2.fc17                                                           fedora                      
perl-JSON-RPC-Daemon.noarch                                                      1.03-2.fc17                                                            updates                     
perl-JSON-RPC-legacy.noarch                                                      1.01-2.fc17                                                            fedora                      
perl-JSON-RPC-legacy-server.noarch                                               1.01-2.fc17                                                            fedora                      
perl-JSON-Util.noarch                                                            0.05-3.fc17                                                            fedora                      
perl-JSON-XS.x86_64                                                              1:2.32-1.fc17                                                          fedora                      
perl-JSON-XS-tests.x86_64                                                        1:2.32-1.fc17                                                          fedora                      
perl-JSON-tests.noarch                                                           2.53-4.fc17                                                            fedora                      
perl-MooseX-Types-JSON.noarch                                                    0.02-7.fc17                                                            fedora                      
perl-MooseX-Types-JSON-tests.noarch                                              0.02-7.fc17                                                            fedora                      
perl-Test-CPAN-Meta-JSON.noarch                                                  0.13-1.fc17                                                            fedora                      
perl-Test-JSON.noarch                                                            0.11-6.fc17                                                            fedora                      
perl-Test-JSON-tests.noarch                                                      0.11-6.fc17                                                            fedora                      

我不知道现在该怎么办?你能建议吗?

提前致谢,

4

4 回答 4

2

在您的代码中:

use JSON::RPC::Legacy::Client; 

并改变:

my $client     = new JSON::RPC::Legacy::Client;
于 2017-01-10T09:07:52.097 回答
1

使用CPAN安装 JSON::RPC。这通常是简单的程序。还有一个工具可以将 CPAN 发行版转换为 rpm,但您可能会发现 cpan 更易于处理,无需额外的转换步骤。

于 2013-02-08T15:16:32.960 回答
1

一般来说,在 Fedora(以及 Red Hat 世界中的任何其他地方)中,如果您不知道哪个包包含您需要的模块,您可以运行:

% yum install 'perl(Module::Name)'

在这种情况下,这将是:

% yum install 'perl(JSON::RPC::Client)'
于 2013-02-08T16:39:28.220 回答
0

JSON::RPC::Client 由旧版本的JSON-RPC提供。JSON-RPC 1.00 版打破了与以前版本的向后兼容性,不再包含该模块。您必须安装旧版本才能使此代码正常工作(或更新代码以使用新 API)。您可以在此处获取 JSON-RPC 0.96(最后一个兼容版本)

您可以仅为此代码将旧版本安装在私有位置。

于 2013-02-08T16:16:33.987 回答