2

我在 Windows XP 上。我按照此页面上的步骤安装了 Yesod:http ://www.yesodweb.com/page/five-minutes

我创建了一个带有 Postgresql 持久性的脚手架应用程序。当我第一次运行“yesod devel”时,它给了我一个关于缺少一些 postgresql 包的错误(我不记得名字),所以我使用 cabal 安装它。现在,当我运行“yesod devel”时,它给了我以下错误:

Loading package HDBC-postgresql-2.2.3.3 ... ghc.exe: pq: The specified module co
uld not be found.
: can't load .so/.DLL for: pq (addDLL: could not load DLL)
yesod: Network.Socket.accept: failed (No error)
我已经安装了 HDBC-postgresql-2.2.3.3 并且我已经安装了 --extra-lib-dirs 设置为所有 DLL 的 postgresql 的 bin 文件夹,但它没有帮助。

据我了解,它正在尝试加载 pq.dll,但我的系统上没有它,我有 libpq.dll,所以我尝试重命名 dll,但无济于事。我搞不清楚了。

请帮忙

康斯坦丁

4

2 回答 2

1

在 Windows 上,需要正确设置 %path%。我在“程序文件”下安装了 postgresql,由于某种原因 HDBC-postgresql 不喜欢路径包含空格的事实,所以我最终将 8.3 路径版本添加到 %path% 并且它似乎已经解决了问题。

于 2011-08-29T17:59:45.923 回答
0

您需要正确设置 Windows 路径。Ghc 需要在命令行上为 postgreSQL ODBC 设置以下路径为“C:\Program Files\PostgreSQL\psqlODBC\0903\bin”(使用 ODBC 版本并适当更改)。此外,应该设置你的 postgreSQL bin 路径。设置 ODBC 路径后安装 odbc 驱动程序。如果 ODBC dll 正确链接,错误将消失。如果 odbc 链接未正确完成,则设置 cabal 标志 --extra-lib-dirs 将不起作用。所需文件 libpq.dll 位于 odbc bin 目录中。

于 2014-08-20T15:51:27.300 回答