ecc*_*tup 13 haskell cabal haskell-platform
这是什么cabal update
输出:
Downloading the latest package list from hackage.haskell.org
cabal: out of memory (requested 2097152 bytes)
Run Code Online (Sandbox Code Playgroud)
原因可能是内存不足.怎么样tail 00-index.cache
?
pkg: charade 0.1 b# 46384
pkg: charset 0.0 b# 46390
pkg: charset 0.1 b# 46393
pkg: charset 0.2.0 b# 46396
pkg: charset 0.2.1 b# 46399
pkg: charset 0.2.2 b# 46402
pkg: charset 0.2.3 b# 46405
pkg: charset 0.3 b# 46408
pkg: charset 0.3.0.1 b# 46412
Run Code Online (Sandbox Code Playgroud)
我可以00-index.tar.gz
轻松下载并00-index.tar
解开.但是,因为out of memory
,我无法生成缓存文件!cabal能00-index.cache
以廉价的方式在当地产生吗?
cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library
Run Code Online (Sandbox Code Playgroud)
sto*_*ont 18
我遇到了在AWS上运行微实例的类似问题(没有运行cabal更新,而是编译我自己的程序).我按照这个链接中的建议创建了一个交换空间,它就可以了.
从链接:
> dd if=/dev/zero of=/tmp/swap bs=1M count=1024
> mkswap /tmp/swap
> swapon /tmp/swap
Run Code Online (Sandbox Code Playgroud)
dd命令在/ tmp目录下创建一个名为"swap"的交换文件,大小为1024MB(1GB).
使用mkswap命令将此文件设置为交换文件.
使用swapon命令启用新创建的交换文件.
此链接 提供有关交换空间的更多信息.
你只要放在00-index.cache
合适的地方,cabal-install
就可以正常使用了。要找出将其放在哪里,请查看remote-repo-cache
和remote-repo
中的值~/.cabal/config
;缓存应该放在以远程存储库的昵称命名的目录中remote-repo-cache
。例如,这是我的一个片段config
:
remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive
remote-repo-cache: /home/dmwit/.cabal/packages
Run Code Online (Sandbox Code Playgroud)
我的缓存位于/home/dmwit/.cabal/packages/hackage.haskell.org/00-index.cache
.
归档时间: |
|
查看次数: |
2556 次 |
最近记录: |