在Heroku上安装Ruby GSL

bzzcjhmw  于 2022-11-13  发布在  Ruby
关注(0)|答案(1)|浏览(179)

我们使用分布gem来计算gamma分布,因为我们特别需要gamma分位数方法,所以我们还需要gsl。

https://github.com/sciruby/distribution
https://github.com/SciRuby/rb-gsl

这在当地工作得很好,但我们正试图将其推到heroku,并遇到了立即的问题。
从外观上看,我们需要一个gsl buildpack,它只支持到gsl的1.16版本。目前的2.1版本似乎没有gsl buildpack。本地安装GSL 1.16似乎真的有问题,我们也没有成功地这样做。
进一步看,我们需要为当前版本创建一个二进制文件,该版本需要在AWS上托管。对于基本上是两种方法的东西来说,似乎有点极端。
要么,我们需要构建构建包的帮助,要么需要这两种特定方法的替代方法。

Distribution::Gamma.quantile
Distribution::Gamma::Ruby_.cdf

如有任何帮助,不胜感激

5q4ezhmt

5q4ezhmt1#

rb-gsl的安装说明说(为了清楚起见,稍微修改了一下):
Ruby/GSL可以作为Ruby Gem安装,只需运行

gem install gsl

请注意,必须先安装GSL库,然后才能安装Ruby/GSL:
Debian/Ubuntu:libgsl0-dev
我想您可以不使用定制的构建包,而只使用gsl gem并为Ubuntu依赖项添加the apt buildpack
1.将apt构建包尽早添加到构建包列表中,例如,通过运行

heroku buildpacks:add --index 1 heroku-community/apt

1.在仓库的根目录下创建一个Aptfile,并在其中列出您需要的Ubuntu包,例如:

libgsl0-dev

1.提交Aptfile并重新部署
注意apt buildpack不做依赖解析,如果libgsl0-dev需要其他包,你也需要明确列出它们。

相关问题