如何在Ubuntu 14.04上使用Haskell進行Web設置?在Ubuntu 14.04上安裝Haskell進行Web開發
我讀過一堆教程,沒有任何工作。我在教程中取得一半的成績,而終端上的某些內容卻慘遭失敗,導致我不得不花費數小時尋找解決方案,以便回到我離開的地方。
是否只有一些二進制文件可用於在Linux上安裝所有文件?我無法在軟件中心找到它。
如何在Ubuntu 14.04上使用Haskell進行Web設置?在Ubuntu 14.04上安裝Haskell進行Web開發
我讀過一堆教程,沒有任何工作。我在教程中取得一半的成績,而終端上的某些內容卻慘遭失敗,導致我不得不花費數小時尋找解決方案,以便回到我離開的地方。
是否只有一些二進制文件可用於在Linux上安裝所有文件?我無法在軟件中心找到它。
sudo apt-get install haskell-platform
對於Web開發,我使用Yesod quick start描述的方法,只有我做一個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
另一個方法是通過尼克斯包管理器安裝耶索德。
安裝尼克斯(http://nixos.org/nix/download.html):
bash <(curl https://nixos.org/nix/install)
安裝耶索德和一些工具:
nix-env -iA nixpkgs.haskellPackages.{hjsmin,persistentSqlite,yesod,yesodBin,yesodStatic,cabalInstall,ghc}
創建一個骨架項目:
yesod init
然後啓動它:
[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)
你的問題是你有舊的Cabal(版本1.16。*),它包含在Ubuntu 14.04中。你應該升級Cabal。我可以看到以下選項:
1)將整個Ubuntu升級到14.10。你會得到Cabal版本1.20。*。
2)如果你還沒有準備好完整的操作系統升級,只有升級驚天動地:
2.1)暫時添加以下行至/etc/apt/sources.list
:
deb http://no.archive.ubuntu.com/ubuntu/ utopic universe
2.2)執行命令
sudo apt-get update
sudo apt-get install cabal-install
2.3)刪除添加到步驟2.1中的/etc/apt/sources.list
的行。
2.4)執行命令
sudo apt-get update
2.5)檢查您的陰謀升級:
cabal --version
你應該得到:
cabal-install version 1.20.0.3
using version 1.20.0.2 of the Cabal library
我起身,我做點'cabal sandbox init'並且失敗。照常。有沒有另一種方式來設置哈斯克爾沒有使用一些沙箱或..我只是想安裝語言/ SDK或任何和使用文本編輯器來編寫代碼。 –
@Aeron「失敗」不是很具描述性。安裝haskell平臺是獲取haskell最簡單的方法。如果你願意,你可以嘗試從源代碼構建[ghc](http://www.haskell.org/ghc/),或者爲你的系統找到二進制文件。要做的最簡單的事情可能是將您的錯誤作爲SO發佈。 – user2407038
對不起,我有一種習慣,忘記在發帖之前完成我之前說的話。當它失敗時,它會顯示cabal sandbox init - command not found。我已經下載並安裝了hiwever平臺,只要我嘗試運行它所說的命令找不到的命令。 –