你如何让 cabal 安装本地包?
How do you get cabal to install a local package?
我正在尝试为 haskell 安装 tensorflow。我的电脑上有这些包。我下载了源代码库,将其修改为编译,然后我使用了 v1-install 选项(none 其他选项将安装本地包)当我安装时,但 ghci 告诉我它没有安装,当我尝试编译一个使用 tensorflow 库的程序时,它编译失败。
我正在使用 arch Linux,ghc 版本 8.6.5,cabal 版本 3.2.0.0。
stack
和 cabal
现在几乎都有这样的理念,即您 不要 “安装”任何库,永远 – 不明确地,是。安装当然必须进行,但我们的想法是它应该始终留在幕后,当包管理器发现需要时自动完成。这是本着 持续集成 的精神,不仅可以使您的项目更多 future-safe,而且可以节省工作,因为不必考虑 什么从哪里自己一遍又一遍地安装。
最简单的情况当然是 .cabal
文件中的所有依赖项都可以从 Hackage 中获取,但是依赖项也可以通过位于硬盘驱动器某处的本地包来满足。要告诉 cabal
这就是您想要的,请在您要使用 TensorFlow 的包中创建一个文件 cabal.project
,其中包含以下内容:
packages: .
/path/to/the/local/tensorflow/package
然后,在 运行 cabal v2-build
(不确定 v1-install
)时,它会同时扫描您当前的包(.
)和 TensorFlow 包,找出您项目中的 tensorflow-dependency 应该来自本地包,满足所有依赖关系,并且 re-build 需要的任何东西。
我正在尝试为 haskell 安装 tensorflow。我的电脑上有这些包。我下载了源代码库,将其修改为编译,然后我使用了 v1-install 选项(none 其他选项将安装本地包)当我安装时,但 ghci 告诉我它没有安装,当我尝试编译一个使用 tensorflow 库的程序时,它编译失败。
我正在使用 arch Linux,ghc 版本 8.6.5,cabal 版本 3.2.0.0。
stack
和 cabal
现在几乎都有这样的理念,即您 不要 “安装”任何库,永远 – 不明确地,是。安装当然必须进行,但我们的想法是它应该始终留在幕后,当包管理器发现需要时自动完成。这是本着 持续集成 的精神,不仅可以使您的项目更多 future-safe,而且可以节省工作,因为不必考虑 什么从哪里自己一遍又一遍地安装。
最简单的情况当然是 .cabal
文件中的所有依赖项都可以从 Hackage 中获取,但是依赖项也可以通过位于硬盘驱动器某处的本地包来满足。要告诉 cabal
这就是您想要的,请在您要使用 TensorFlow 的包中创建一个文件 cabal.project
,其中包含以下内容:
packages: .
/path/to/the/local/tensorflow/package
然后,在 运行 cabal v2-build
(不确定 v1-install
)时,它会同时扫描您当前的包(.
)和 TensorFlow 包,找出您项目中的 tensorflow-dependency 应该来自本地包,满足所有依赖关系,并且 re-build 需要的任何东西。