Perl &引用;IO::Socket::SSL 1.94+;TLS支持所需的“;在Heroku上运行Mojolicious应用程序时出错

Perl &引用;IO::Socket::SSL 1.94+;TLS支持所需的“;在Heroku上运行Mojolicious应用程序时出错,perl,ssl,heroku,mojolicious,Perl,Ssl,Heroku,Mojolicious,我已经按照这里的指示做了。一切正常,我已经验证了Makefile.PL中的所有先决条件都存在。从我的终端运行此命令会使我知道IO::Socket::SSL是最新的(2.027)。 SSLeay是最新的(1.74) 但是,我有一个控制器,它在呈现之前执行一些http请求,当我尝试使用UserAgent时,它会给我一个错误,即IO::Socket::SSL 1.94是必需的。该应用程序在本地运行正常,但在heroku上失败 我试图通过设置MOJO_NO_TLS=1来禁用TLS,但错误仍然存在。有人知

我已经按照这里的指示做了。一切正常,我已经验证了Makefile.PL中的所有先决条件都存在。从我的终端运行此命令会使我知道IO::Socket::SSL是最新的(2.027)。 SSLeay是最新的(1.74)

但是,我有一个控制器,它在呈现之前执行一些http请求,当我尝试使用UserAgent时,它会给我一个错误,即IO::Socket::SSL 1.94是必需的。该应用程序在本地运行正常,但在heroku上失败


我试图通过设置MOJO_NO_TLS=1来禁用TLS,但错误仍然存在。有人知道解决这个问题的方法吗?

我怀疑你有两个人。一个有模块,另一个运行应用程序。如果没有更多的挖掘,我无法确定。不过,我并不特别喜欢通过heroku命令安装模块,它们应该在make文件中


在尝试请求失败后,可能会创建一个将%INC转储到浏览器(临时)的路由。

我怀疑您有两个PERL。一个有模块,另一个运行应用程序。如果没有更多的挖掘,我无法确定。不过,我并不特别喜欢通过heroku命令安装模块,它们应该在make文件中


在尝试请求失败后,可能会创建一个将%INC转储到浏览器(临时)的路由。

您是对的。在仔细研究之后,我发现实际上安装了两个以上的Perl。在仔细研究之后,我发现实际上安装了两个以上的Perl。
heroku run --app sheltered-island-80963 -- /app/vendor/perl/bin/perl /app/vendor/perl/bin/cpan IO::Socket::SSL Net::SSLeay