您如何获得Cabal安装本地软件包?

问题描述

我正在尝试为haskell安装tensorflow。我的电脑上有包装。我下载了源存储库,对其进行了修改以进行编译,然后使用了v1-install选项(其他任何选项都不会安装本地软件包),并且在安装时会进行安装,但是ghci告诉我它尚未安装,以及何时安装尝试编译使用无法编译的tensorflow库的程序。

我正在使用ghc版本8.6.5和cabal版本3.2.0.0的arch Linux。

解决方法

stackcabal现在都拥有一种哲学,那就是您不要“安装”任何库,即使不是显式的。当然必须进行安装,但是其想法是它应该始终在幕后,在程序包管理器认为需要时自动完成。这是持续集成的精神,它不仅可以使您的项目更安全,而且不必担心从何处安装可以节省工作。 >一遍又一遍。

当然,最简单的情况是可以从Hackage中获取.cabal文件中的所有依赖关系,但是也可以通过位于硬盘驱动器上的本地软件包来满足依赖关系。要告诉cabal这就是您想要的,请在要使用TensorFlow的程序包中创建文件cabal.project,其中包含以下内容:

packages: .
          /path/to/the/local/tensorflow/package

然后,在运行cabal v2-build(不确定v1-install)时,它将同时扫描您的当前程序包(.)和TensorFlow程序,从而发现tensorflow-dependency在您的项目应该来自本地程序包,满足所有依赖性,然后重新构建所需的任何东西。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...