从Stack安装GHCJS

6

我已经通过stack安装了GHC(因此stack ghc -- --version显示GHC-7.10.3)

$ stack install ghcjs

Run from outside a project, using implicit global project config
Using resolver: lts-5.2 from implicit global project's config file: /home/john/.stack/global-project/stack.yaml
The following target packages were not found: ghcjs

一些资源表明,ghcjs 稍微有些实验性(尽管在更进一步的阶段)。
查看http://docs.haskellstack.org/en/stable/ghcjs/后,我想也许我可以找到 stack.yaml 并进行更改。

要使用 GHCJS 和 stack >= 0.1.8,请将 GHCJS 版本放置于 stack.yaml 的编译器字段中...然后运行 stack setup

$ cat ~/.stack/global-project/stack.yaml
# This is the implicit global project's config file, which is only used when
# 'stack' is run outside of a real project.  Settings here do _not_ act as
# defaults for all projects.  To change stack's default settings, edit
# '/home/john/.stack/config.yaml' instead.
#
# For more information about stack's configuration, see
# http://docs.haskellstack.org/en/stable/yaml_configuration.html
#
flags: {}
extra-package-dbs: []
packages: []
extra-deps: []
resolver: lts-5.2

我们被告知查看config.yaml,但它看起来同样空白。这是正确的吗?我是不是走上了一条死路?

$ cat ~/.stack/config.yaml
# This file contains default non-project-specific settings for 'stack', used
# in all projects.  For more information about stack's configuration, see
# http://docs.haskellstack.org/en/stable/yaml_configuration.html
#
{}

我只想使用stack安装ghcjs

1个回答

10

请查看此页面:http://docs.haskellstack.org/en/stable/ghcjs/

我建议尝试以下步骤:

  1. 创建一个新的 stack 项目,例如: stack new js-test

  2. 修改 stack.yaml 文件,添加以下部分(来自上述链接):

    compiler: ghcjs-0.2.0.20160414_ghc-7.10.3
    compiler-check: match-exact
    setup-info:
      ghcjs:
        source:
          ghcjs-0.2.0.20160414_ghc-7.10.3:
            url: https://s3.amazonaws.com/ghcjs/ghcjs-0.2.0.20160414_ghc-7.10.3.tar.gz
            sha1: 6d6f307503be9e94e0c96ef1308c7cf224d06be3
    
  3. resolver:更改为lts-5.12 - 这与上述部分相匹配。

  4. 运行stack setup以安装编译器。

第4步需要一些时间。


1
我不能打勾,因为它仍在安装中 :-) - john mangual
我的 stack setup 刚刚完成,稍等片刻! - ErikR
1
文档目前返回404。 - majkrzak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接