我正在尝试使用hello world
purescript
设置NixOs
项目并提出几个问题,
purescript
网站建议通过npm
进行安装,但没有nixos.nodePackages.purescript
,而是我在nixpkgs
找到了至少2个变体
有什么不同?
pulp
和bower
通过npm
,但只有nodePackages.bower
可用且未记录psc-package
。 处理purescript包的nix
方法应该是什么?
hello.purs
bellow)甚至无法编译,出现这些错误。
$ purs compile hello.purs
Error found:
at hello.purs line 1, column 1 - line 1, column 1
Unable to parse module:
unexpected "import"
expecting "module"
我将module Hello
添加到代码但仍然失败。
$ purs compile hello.purs
Error 1 of 2:
in module Hello
at hello.purs line 2, column 1 - line 2, column 15
Module Prelude was not found.
Make sure the source file exists, and that it has been provided as an input to psc.
See https://github.com/purescript/documentation/blob/master/errors/ModuleNotFound.md for more information,
or to contribute content related to this error.
Error 2 of 2:
in module Hello
at hello.purs line 3, column 1 - line 3, column 39
Module Control.Monad.Eff.Console was not found.
Make sure the source file exists, and that it has been provided as an input to psc.
See https://github.com/purescript/documentation/blob/master/errors/ModuleNotFound.md for more information,
or to contribute content related to this error.
正确的工作流程应该如何?
目标是拥有一个hello.purs
的最小示例项目
在网络浏览器中运行。
这是hello.purs
module Hello where
import Prelude
import Control.Monad.Eff.Console (log)
greet :: String -> String
greet name = "Hello, " <> name <> "!"
main = log (greet "World")
如果您还可以为shell.nix
提供nix-shell
或default.nix
提供nix-build
,那将非常有用。
发现这个2岁guild,我正在尝试但我仍然没有回答所有问题。
答案 0 :(得分:4)
npm install pulp
安装Pulp - 二进制文件将安装到node_modules/.bin/pulp
bower install purescript-prelude purescript-console
安装它们。但node_modules/.bin/pulp init
会为您提供Bower文件,您可以运行bower install
为您提供基本项目。然后,您可以使用node.js执行node_modules/.bin/pulp run
,但您可能希望pulp browserify --to example.js
获取可以放入HTML中的<script>
标记的文件。