2012-09-07 3 views
4

하스켈에서 코딩하는 것을 좋아하지만, 소프트웨어를 설치할 수없는 컴퓨터에서 자주 실행되며, 실행 가능한 것에 대해서는 제한이 있습니다. 이 컴퓨터에서 Haskell 코드를 작성하고 테스트하고 싶습니다. 누구나 하스켈 버전을 자바, 자바 스크립트, 루비, 파이썬 또는 Mac에서 기본 설치로 사용할 수있는 다른 해석 언어로 작성된 인터프리터 또는 컴파일 된 버전을 알고 있습니까? 사용자 수준에서 설치할 수있는 독립 실행 형 Haskell 버전도 작동하지만 Haskell을 직접 컴파일하는 것은 옵션이 아닙니다.사용자 레벨의 하스켈

+0

작은 코드 스 니펫 또는 여러 파일? –

+0

예를 들어 VM을 실행할 수 없습니까? 우분투 그 맥에, 그리고 거기에 당신이 좋아하는 관리자 권한으로 설치? – leftaroundabout

+0

관리자가 그에게 소프트웨어를 많이 제공하면 VM을 실행할 수 있습니다. –

답변

11

GHC 바이너리 배포판 (설치자가 아닌 tarball로 제공되는 것)은 모두 로컬에 쉽게 설치할 수 있습니다. 당신이 음모하려면

./configure --prefix=$HOME/ghc 
make install 

그런 다음 $ HOME/GHC/빈에게

을 포함하도록 경로를 업데이트, 그것을 압축을 풀 경우 다음 hackage에서 타르를 얻고 bootstrap.sh을 실행합니다.

GHC는 로컬 설치로 잘 작동합니다. 사실 시스템 설치로 사용하지 않습니다.

+0

고마워요! 이것은 Java Runtime을 실행하고 Java 기반 터미널을 사용하여 이러한 모든 명령을 실행할 수 있기 때문에 제가 가정하지 않은 응용 프로그램을 실행할 필요가 없습니다. 단순함과 첫 번째 대답을 위해 '올바른'표시가 나타납니다. –

+0

GHC7을 설치하기 위해 GHC6을 없애기 위해 최근에 그의 OS (예전의 repos가있는 우분투)와 싸워야했던 누군가로서 : 감사합니다. – David

3

내 워크 스테이션에서도이 작업을 수행하므로 (예를 들어, 데비안에있는) 배포본이 갑자기 내게 알리지 않고 갑자기 apt-get upgrade에 눈에 띄지 않게되었습니다.

이 솔루션은 전체 ghchaskell-platform~/.cabal 접두사를 설치합니다.

우선, 내 홈 디렉토리에 사용자 정의 컴파일 된 프로그램을 넣기 위해 사용하는 ~/local 디렉토리가 있습니다. 나는 보통 Makefile 시스템에 대한 루트 액세스 권한을주기 때문에 보통 sudo make install 단계를 싫어합니다. 그러면 저를 기분 나게 할 수 있습니다.

그런 다음 ghc site에서 ghc 바이너리 배포판을 다운로드합니다. 필자는 7.4.2에 연결했음을 주목하십시오. Mac OS X에서 segfault 버그가 있다고 들었지만 세부 사항을 알지 못합니다. 그걸 확인하거나 newer ghc을 얻으십시오. 그러나 7.6에서 작동하도록 아직 수정되지 않은 많은 패키지가 hackage에 있다는 것을 알아 두십시오. 또한 "STOP!"을 무시하십시오. 경고, 당신은 실제로 비 배포 GHC 바이너리를 원하는 1 %입니다.

당신은 다음을 수행 GHC 디렉토리에 불과 CD는이 시점에서 make install (아니오, 그냥 컴파일되지, 설치하는 데 필요한거야 컴파일을.)

다음 ./configure --prefix=$HOME/local/haskell 정도, 당신은에 ~/local/haskell/bin를 추가해야 할 수 있습니다 너의 길. Here's~/.zshrc에 넣은 코드는 경로에 모두 ~/local/*/bin 디렉토리를 추가합니다.

그러면 하스켈 플랫폼을 얻을 수 있으며 같은 ./configure --prefix=$HOME/local/haskell && make && make install 댄스를 할 수 있습니다. 이 단계 으로 컴파일해야합니다. 즉, 일부 헤더 라이브러리가 설치되어 있어야합니다. 나는 특히 짜증나는 랜덤 openGL 헤더를 발견했다.

물론 haskell-platform을 건너 뛰고 cabal-install을 직접 다운로드 한 다음 필요한 것을 설치할 수 있습니다. 어쨌든 $PATH~/.cabal/bin을 추가하는 것을 잊지 마십시오!

cabal update을 수행하면 도움이됩니다.

참고 : GHC의 바이너리 배포판에 필요한 중요한 부분 중 하나는 구형 리눅스 시스템의 경우 libgmp 일 수 있습니다. 그것은 역동적으로 링크되어 있고, 공유 된 libgmp에 대한 에러가 OS X에서도 발견되지 않는다면, 당신은 코멘트에서 그 질문을 할 수 있습니다. 나는 그곳에 도착하는 방법을 설명 할 것입니다. 기본적으로 libgmp + deps를 직접 컴파일해야합니다.

하지만 OS X에서 문제가 될 것이라고 생각하지 않습니다.이 문제를 해결하기 위해 몇 가지 오래된 데비안 상자에서 문제가 발생했습니다.

+0

모든 세부 사항에 감사드립니다! 내가 올바른 것으로 여러 표시 할 수 있다면 당신이 올바른 표시합니다. 네가 말한 것들이 그것이 작동하는데 필수적이라면, 나는 너를 응답자로 바꿀 것이다. –

2

단일 파일의 경우 codepad을 사용할 수 있습니다.