创建可以使用堆栈安装的 hackage 包
Create hackage package that can be installed with stack
当 运行 stack sdist
在我的项目目录中时,stack.yaml
文件未包含在 tarball 中(这似乎是 be expected)。
因此,当我将 tarball 上传到 hackage 时,stack install mypackage
它会抱怨缺少我在 stack.yaml
文件中指定的依赖项 (extra-deps
)。
$ stack install pandoc-placetable
Run from outside a project, using implicit global project config
Using resolver: lts-5.17 from implicit global project's config file: ~/.stack/global-project/stack.yaml
While constructing the BuildPlan the following exceptions were encountered:
-- Failure when adding dependencies:
spreadsheet: needed (>=0.1.3 && <0.1.4), not present in build plan (latest applicable is 0.1.3.4)
needed for package: pandoc-placetable-0.4
-- While attempting to add dependency,
Could not find package spreadsheet in known packages
Recommended action: try adding the following to your extra-deps in /Users/maurobieg/.stack/global-project/stack.yaml
- spreadsheet-0.1.3.4
或者如果 hackage 包 stack
有进一步的 hackage 依赖性,推荐的方法是什么?
更新:我刚刚将extra-source-files: stack.yaml
添加到cabal文件中,stack.yaml
确实包含在新发布版本的tarbal中。尽管如此,stack install pandoc-placetable-0.4.1
还是报同样的错误。
我也可以告诉不想在系统上安装 cabal-install
的人从 GitHub 克隆,然后使用 stack
构建。这是小包装的推荐方法吗?或者我应该让他们在他们的全局 stack.yaml
中包含 pandoc-placetable
(即 spreadsheet
)的依赖项?闻起来像污染了全局文件...
正如@mgsloan 在上面的评论中提到的:有一个开放的stack issue about using stack.yaml from hackage package。
我想在它修复之前我会告诉人们从 GitHub 克隆(或如@MichaelSnoyman 提到的 stack unpack
)然后 cd
克隆到新创建的目录中stack install
在那里。
当 运行 stack sdist
在我的项目目录中时,stack.yaml
文件未包含在 tarball 中(这似乎是 be expected)。
因此,当我将 tarball 上传到 hackage 时,stack install mypackage
它会抱怨缺少我在 stack.yaml
文件中指定的依赖项 (extra-deps
)。
$ stack install pandoc-placetable
Run from outside a project, using implicit global project config
Using resolver: lts-5.17 from implicit global project's config file: ~/.stack/global-project/stack.yaml
While constructing the BuildPlan the following exceptions were encountered:
-- Failure when adding dependencies:
spreadsheet: needed (>=0.1.3 && <0.1.4), not present in build plan (latest applicable is 0.1.3.4)
needed for package: pandoc-placetable-0.4
-- While attempting to add dependency,
Could not find package spreadsheet in known packages
Recommended action: try adding the following to your extra-deps in /Users/maurobieg/.stack/global-project/stack.yaml
- spreadsheet-0.1.3.4
或者如果 hackage 包 stack
有进一步的 hackage 依赖性,推荐的方法是什么?
更新:我刚刚将extra-source-files: stack.yaml
添加到cabal文件中,stack.yaml
确实包含在新发布版本的tarbal中。尽管如此,stack install pandoc-placetable-0.4.1
还是报同样的错误。
我也可以告诉不想在系统上安装 cabal-install
的人从 GitHub 克隆,然后使用 stack
构建。这是小包装的推荐方法吗?或者我应该让他们在他们的全局 stack.yaml
中包含 pandoc-placetable
(即 spreadsheet
)的依赖项?闻起来像污染了全局文件...
正如@mgsloan 在上面的评论中提到的:有一个开放的stack issue about using stack.yaml from hackage package。
我想在它修复之前我会告诉人们从 GitHub 克隆(或如@MichaelSnoyman 提到的 stack unpack
)然后 cd
克隆到新创建的目录中stack install
在那里。