2014-07-19 2 views
2

웹 개발을 위해 우분투 14.04에서 하스켈을 사용하여 어떻게 설정합니까?웹 개발을 위해 우분투 14.04에 하스켈 설치하기

자습서를 읽었으며 아무 것도 작동하지 않습니다. 튜토리얼의 절반 정도가 끝나고 터미널의 무언가가 비참하게 실패합니다. 결국 중단해야 할 부분으로 돌아가는 데 시간을 들여 솔루션을 검색해야합니다.

Linux에 모든 것을 설치하는 데 사용할 수있는 바이너리가 있습니까? 소프트웨어 센터에서 찾을 수 없습니다. Haskell Platform

답변

5

사용은 : 웹 개발을위한

sudo apt-get install haskell-platform 

, 내가 Yesod quick start에 기술 된 방법을 사용 만 나는 또 다른 대안은 닉스 패키지 관리자를 통해 yesod를 설치하는 cabal sandbox

cabal update 
cabal sandbox init 
cabal install happy alex yesod-platform yesod-bin --max-backjumps=-1 --reorder-goals 
export PATH=.cabal-sandbox/bin/:$PATH 
yesod devel 
+0

내가 할 점에 일어나서

sudo apt-get update 

2.5) 귀하의 음모가 업그레이드되어 있는지 확인 'cabal sandbox init' 그리고 실패했습니다. 평소처럼. 몇 가지 샌드 박스를 사용하지 않고 하스켈을 설치하는 또 다른 방법이 있습니까 아니면 .. 단지 언어/sdk를 설치하고 코드를 작성하기 위해 텍스트 편집기를 사용하고 싶습니다. –

+4

@Aeron "실패했습니다"는 매우 설명 적이 지 않습니다. haskell을 설치하는 가장 쉬운 방법은 haskell 플랫폼을 설치하는 것입니다. 원하는 경우 소스에서 [ghc] (http://www.haskell.org/ghc/)를 빌드하거나 시스템의 바이너리를 찾을 수 있습니다. 가장 쉬운 방법은 아마도 SO에 대한 질문으로 오류를 게시하는 것입니다. – user2407038

+0

죄송합니다. 게시물을 누르기 전에 제가 말한 것을 끝내는 것을 잊어 버리는 습관이 있습니다. 실패하면 cabal sandbox init - 명령을 찾을 수 없습니다. 이미 플랫폼을 다운로드하고 설치했는데 명령을 찾을 수 없다는 명령을 실행하려고 시도했습니다. –

2

에서 할 .

설치 괜찬아 (http://nixos.org/nix/download.html) : 다음

yesod init 

를 시작 :

nix-env -iA nixpkgs.haskellPackages.{hjsmin,persistentSqlite,yesod,yesodBin,yesodStatic,cabalInstall,ghc} 

는 골격 프로젝트를 만듭니다

bash <(curl https://nixos.org/nix/install) 

이 yesod과 몇 가지 도구를 설치합니다

[email protected]:~/foo$ yesod devel 
Yesod devel server. Press ENTER to quit 
Warning: The package list for 'hackage.haskell.org' does not exist. Run 'cabal 
update' to download it. 
Resolving dependencies... 
Configuring foo-0.0.0... 
Forcing recompile for ./Model.hs because of config/models 
Forcing recompile for ./Foundation.hs because of config/routes 
Forcing recompile for ./Foundation.hs because of messages/en.msg 
Forcing recompile for ./Foundation.hs because of templates/default-layout-wrapper.hamlet 
Forcing recompile for ./Foundation.hs because of templates/default-layout.hamlet 
Forcing recompile for ./Handler/Home.hs because of templates/homepage.hamlet 
Forcing recompile for ./Handler/Home.hs because of templates/homepage.julius 
Forcing recompile for ./Handler/Home.hs because of templates/homepage.lucius 
Rebuilding application... (using cabal) 
Starting development server... 
Starting devel application 
Devel application launched: http://localhost:3000 
Migrating: CREATE TABLE "user"("id" INTEGER PRIMARY KEY,"ident" VARCHAR NOT NULL,"password" VARCHAR NULL,CONSTRAINT "unique_user" UNIQUE ("ident")) 
Migrating: CREATE TABLE "email"("id" INTEGER PRIMARY KEY,"email" VARCHAR NOT NULL,"user" INTEGER NULL REFERENCES "user","verkey" VARCHAR NULL,CONSTRAINT "unique_email" UNIQUE ("email")) 
20/Jul/2014:13:19:30 +0300 [Debug#SQL] "CREATE TABLE \"user\"(\"id\" INTEGER PRIMARY KEY,\"ident\" VARCHAR NOT NULL,\"password\" VARCHAR NULL,CONSTRAINT \"unique_user\" UNIQUE (\"ident\"))" [] @(persistent-1.3.1.1:Database.Persist.Sql.Raw ./Database/Persist/Sql/Raw.hs:38:5) 
20/Jul/2014:13:19:30 +0300 [Debug#SQL] "CREATE TABLE \"email\"(\"id\" INTEGER PRIMARY KEY,\"email\" VARCHAR NOT NULL,\"user\" INTEGER NULL REFERENCES \"user\",\"verkey\" VARCHAR NULL,CONSTRAINT \"unique_email\" UNIQUE (\"email\"))" [] @(persistent-1.3.1.1:Database.Persist.Sql.Raw ./Database/Persist/Sql/Raw.hs:38:5) 
0

문제는 이전의 Cabal (버전 1.16. *)이 우분투 14.04에 포함되어 있다는 것입니다. Cabal을 업그레이드해야합니다. 다음 옵션을 볼 수 있습니다 :

1) 전체 우분투를 14.10으로 업그레이드하십시오. 카발 버전 1.20. *을 얻을 수 있습니다.

2.1) 일시적으로 추가 다음 줄 /etc/apt/sources.list에 :

deb http://no.archive.ubuntu.com/ubuntu/ utopic universe 

2.2) 실행 : 당신은 업그레이드 만 카발 전체 OS 업그레이드에 대한 준비가되지 않은 경우

2)

sudo apt-get update 
sudo apt-get install cabal-install 

2.3) 단계 2.1에서 /etc/apt/sources.list에 추가 된 줄을 제거하십시오.

2.4) 실행 :

cabal --version 

당신은 가야 :

cabal-install version 1.20.0.3 
using version 1.20.0.2 of the Cabal library 
관련 문제