我正在研究使用yesod的haskell网络应用程序,我最终想要部署到EC2,有人可以推荐一个AMI,它有一个最新的haskell平台和一个可以从存储库安装的git客户端吗?
答案 0 :(得分:3)
如果你看一下Michael Snoyman的安装脚本,它包含了他用来在Ubuntu AMI上运行EC2实例的步骤。
https://github.com/yesodweb/benchmarks/blob/master/setup.sh
我也在Amazon Linux上从源代码运行Yesod。构建所有内容需要几个小时,但我认为任何具有至少8G内存的标准盒都应该这样做(否则GHC无法链接)。我就这样做了:
# install what packages are available
sudo yum --enablerepo=epel install haskell-platform git make ncurses-devel patch
# make and install ghc
wget http://www.haskell.org/ghc/dist/7.0.4/ghc-7.0.4-src.tar.bz2
tar jxf ghc-7.0.4-src.tar.bz2
rm ghc-7.0.4-src.tar.bz2
cd ghc-7.0.4
./configure
make -j 4
# wait a few hours
sudo make install
cd
rm -rf ghc-7.0.4
# make and install haskell-platform
wget http://lambda.haskell.org/platform/download/2011.4.0.0/haskell-platform-2011.4.0.0.tar.gz
tar zxf haskell-platform-2011.4.0.0.tar.gz
cd haskell-platform-2011.4.0.0
./configure
make -j 4
sudo make install
cd
rm -rf haskell-platform-2011.4.0.0
答案 1 :(得分:1)
您不应该在EC2实例上编译。选择像Ubuntu这样的通用AMI,在本地计算机上执行编译,然后将静态二进制文件上传到EC2。