我试图从简单的" Hello World"开始学习purescript。来自" Purescript by Example"。 发行"纸浆运行"抛出此错误:
* Building project in /home/peter/devel/purescript/my-project
Error found:
at bower_components/purescript-psci-support/src/PSCI/Support.purs line 21, column 1 - line 21, column 1
Unable to parse module:
unexpected "else"
expecting declaration or end of input
purs的版本为0.11.7,Pulp的版本为12.2.0。
我做错了什么?
感谢您的帮助。
答案 0 :(得分:1)
最近发布的PureScript 0.12引入了重大变化。几个新的软件包版本不适用于较旧的编译器。如果你想保持0.12之前,并且你正在使用凉亭,那么就这样做你的项目:
bower_components
目录中的所有内容。bower install
。pulp build
。或者,您可以使用PureScript Version Manager升级到0.12。此时,npm上没有0.12。为此,您可以关注these installation instructions,但简而言之就是:
npm uninstall -g purescript
。npm install -g psvm
。psvm install-latest
。psvm use v0.12.0
C:\Users\<username>\.psvm\current\bin
PATH。确保使用此新PATH变量更新当前会话。purs --version
。答案 1 :(得分:0)
我正在通过示例工作PureScript,今天遇到了同样的问题。我偶然发现了issue 3367,在那儿gabejohnson将我们引到了博客文章Working with 0.11.7 in a 0.12 world。
长话短说,就像erisco所说的那样,PureScript 0.12似乎引入了重大更改,如果要保持在0.11.7上,我们应该使用psc-package而不是bower(因为制浆不起作用)目前使用PureScript 0.12,而Bower给团队带来了依赖管理问题。
您可以使用the binary或使用npm install -g psc-package
安装psc-package。
此后,当您使用pulp --psc-package init
初始化新项目时,您将需要告诉pulp使用psc-package。最后,使用psc-package install lists
安装列表包。
请记住,使用psc-package时,软件包没有前缀purescript-
,因此您只需输入软件包名称即可。
这就是让我回到正轨的原因,希望对您有帮助。