设置纯脚本环境
Setting up a Purescript Enviornment
所以我想尝试使用 Purescript,但我一直无法克服实际设置环境以开始玩游戏的困难。似乎关于该主题的大多数参考资料都已过时在这一点上也是如此。无论如何,我已经尝试了无数 pulp init
-> bower install
-> pulp psci
并且,尽管导致 psci
的步骤声称有效,但导入序曲或任何其他其他基本模块失败。因此,psci
连数字“1”是什么都认不出来了。此外,运行 pulp psci
时出现以下错误
发现错误:
在 bower_components/purescript-lists/src/Data/List/ZipList.purs 第 69 行,第 11 列 - 第 69 行,第 11 列
无法解析模块:
unexpected "\n ZipList 不是绑定的。任何实现都会违反关联律。\n\n 可能的替代方案:\n Data.List.List\n Data.List.Lazy.List\n”
期望没有缩进或输入结束
有关详细信息,请参阅 https://github.com/purescript/purescript/wiki/Error-Code-ErrorParsingModule,
或提供与此错误相关的内容。
发现错误:
无法解析外部模块:
bower_components/purescript-foldable-traversable/src/Data/Foldable.js
有关详细信息,请参阅 https://github.com/purescript/purescript/wiki/Error-Code-ErrorParsingFFIModule,
或提供与此错误相关的内容。
从您的错误消息来看,您的编译器版本对于已安装的库版本而言似乎已过时。最新版本是 0.9.3,可通过 npm
获取/二进制文件在 GitHub 上/发布在 Hackage 等
所以我实际上是今天在几小时前安装的新 linux 机器上完成的。希望对你有用。
首先我安装了nvm
来管理不同的节点版本。我在不同的地方读到过一些人遇到过 purescript 在 node v6 上运行不佳的问题,所以我选择了 node v5。 (这纯粹是轶事 - 我自己还没有 运行 进入这样的问题。)无论如何 nvm
是个不错的主意,以防你仍然 运行 进入问题;切换节点版本可能会有所帮助。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
nvm install 5
然后我用npm安装了purescript、pulp和bower
npm install -g purescript
npm install -g pulp
npm install -g bower
然后我为一个纯脚本项目创建了一个新目录。然后我用bower安装了purescript-psci-support
bower install purescript-psci-support --save
pulp psci
现在就像一个魅力。是的,它识别数字 1。:)
$ pulp psci
PSCi, version 0.9.3
Type :? for help
> 1
1
希望对您有所帮助。
psc-package
是你在 2019 年的做法,不要使用 bower
或 purs
。
您有一些选择:
- 全局安装工具
- 在本地安装工具(每个项目)
使用 npm
运行 this
全局安装工具
npm i -g purescript psc-package
然后,创建一个新项目
cd /tmp/my-new-awesome-purescript-project
psc-package init
psc-package install psci-support # so that the REPL works
您现在可以开始回复了
psc-package repl
备注
- 您不必使用
npm
!
- 您可以使用 npm 而不要全局安装:
cd /tmp/my-awesome-npm-based-purescript-thing
npm init -y
npm install --save purescript psc-package
psc-package install psci-support
然后将其添加到您的 package.json
,这样您就可以 运行 使用 npm run
的工具:
"scripts": {
"build": "psc-package build",
"repl": "psc-package repl"
}
这样做的好处是每个项目可以有不同的版本,如果您提交 package-lock.json
这将存储在 repo 中。
此外,您存储库的用户不需要安装 purescript 或 psc-package,因为 npm i
会处理这些。
所以我想尝试使用 Purescript,但我一直无法克服实际设置环境以开始玩游戏的困难。似乎关于该主题的大多数参考资料都已过时在这一点上也是如此。无论如何,我已经尝试了无数 pulp init
-> bower install
-> pulp psci
并且,尽管导致 psci
的步骤声称有效,但导入序曲或任何其他其他基本模块失败。因此,psci
连数字“1”是什么都认不出来了。此外,运行 pulp psci
发现错误: 在 bower_components/purescript-lists/src/Data/List/ZipList.purs 第 69 行,第 11 列 - 第 69 行,第 11 列
无法解析模块: unexpected "\n ZipList 不是绑定的。任何实现都会违反关联律。\n\n 可能的替代方案:\n Data.List.List\n Data.List.Lazy.List\n” 期望没有缩进或输入结束
有关详细信息,请参阅 https://github.com/purescript/purescript/wiki/Error-Code-ErrorParsingModule, 或提供与此错误相关的内容。
发现错误:
无法解析外部模块:
bower_components/purescript-foldable-traversable/src/Data/Foldable.js
有关详细信息,请参阅 https://github.com/purescript/purescript/wiki/Error-Code-ErrorParsingFFIModule, 或提供与此错误相关的内容。
从您的错误消息来看,您的编译器版本对于已安装的库版本而言似乎已过时。最新版本是 0.9.3,可通过 npm
获取/二进制文件在 GitHub 上/发布在 Hackage 等
所以我实际上是今天在几小时前安装的新 linux 机器上完成的。希望对你有用。
首先我安装了nvm
来管理不同的节点版本。我在不同的地方读到过一些人遇到过 purescript 在 node v6 上运行不佳的问题,所以我选择了 node v5。 (这纯粹是轶事 - 我自己还没有 运行 进入这样的问题。)无论如何 nvm
是个不错的主意,以防你仍然 运行 进入问题;切换节点版本可能会有所帮助。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
nvm install 5
然后我用npm安装了purescript、pulp和bower
npm install -g purescript
npm install -g pulp
npm install -g bower
然后我为一个纯脚本项目创建了一个新目录。然后我用bower安装了purescript-psci-support
bower install purescript-psci-support --save
pulp psci
现在就像一个魅力。是的,它识别数字 1。:)
$ pulp psci
PSCi, version 0.9.3
Type :? for help
> 1
1
希望对您有所帮助。
psc-package
是你在 2019 年的做法,不要使用 bower
或 purs
。
您有一些选择:
- 全局安装工具
- 在本地安装工具(每个项目)
使用 npm
运行 this
npm i -g purescript psc-package
然后,创建一个新项目
cd /tmp/my-new-awesome-purescript-project
psc-package init
psc-package install psci-support # so that the REPL works
您现在可以开始回复了
psc-package repl
备注
- 您不必使用
npm
! - 您可以使用 npm 而不要全局安装:
cd /tmp/my-awesome-npm-based-purescript-thing
npm init -y
npm install --save purescript psc-package
psc-package install psci-support
然后将其添加到您的 package.json
,这样您就可以 运行 使用 npm run
的工具:
"scripts": {
"build": "psc-package build",
"repl": "psc-package repl"
}
这样做的好处是每个项目可以有不同的版本,如果您提交 package-lock.json
这将存储在 repo 中。
此外,您存储库的用户不需要安装 purescript 或 psc-package,因为 npm i
会处理这些。