难道我升级我的小集团安装?(Have I upgraded my cabal-install?)

2019-07-20 00:50发布

我刚安装哈斯克尔从它的官方网站 。 在此之后,随着它的快速入门教程。

我运行:

cabal update

这显示了该消息:

Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install

我运行:

cabal install cabal-install

并检查是否更新是成功的

cabal update

结果,它显示我从一开始就相同的消息:

Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install

所以,我有没有升级的小集团安装或不? 如何检查我的阴谋的版本?

重要提示:我使用的是64位版本的Mac OS X.

Answer 1:

我安装哈斯克尔平台后也有类似的问题2012.4.0.0在OSX。 当我跑cabal install cabal-install ,它结束了:

cabal: ../ghc-7.4.2/lib/cabal-install-1.16.0.2/bin/cabal: does not exist

所以我猜它得到了它的路径混淆的地方。 然而可执行文件实际上是成功构建(检查~/Library/Haskell/ghc-7.4.2/lib/cabal-install-1.16.0.2/bin/cabal ),我只是把它抄了从有到~/Library/Haskell/bin是我的道路上。

此后一切OK跑:

$ which cabal
/Users/luke/Library/Haskell/bin/cabal
$ cabal update
Downloading the latest package list from hackage.haskell.org
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0.3 of the Cabal library


Answer 2:

在我的情况(以及可能其他人?)阴谋最初安装/usr/local/bin由自制软件安装时haskell-platform 。 当升级阴谋,该版本被安装到$HOME/.cabal/bin/cabal 。 你应该到更高的地方你的阴谋箱在你的$PATH ,就像这样:

export PATH=$HOME/.cabal/bin:$PATH


Answer 3:

每个人似乎都在这里体验到一个稍微不同的问题。 在我的情况下, cabal被成功建造并安装到~/Library/Haskell/bin

正如指出的~/.cabal/config ,加入~/Library/Haskell/binPATH解决的问题。

下面是在说明~/.cabal/config

-- === Built executables will be installed in:
--     ~/Library/Haskell/bin
--
-- You may wish to place this on your PATH by adding the following
-- line to your ~/.bash_profile:
--     export PATH="$HOME/Library/Haskell/bin:$PATH"


Answer 4:

在OS X 10.8我不得不添加/Library/Haskell/bin到我的PATH(把它之前/usr/bin )。 补充说固定在错误消息



Answer 5:

cabal --version给你你正在运行的阴谋的版本。 如果你想看到的版本小集团安装你有,运行cabal info cabal-install并期待在安装线的版本

对我来说,在OS X上, 安装的版本[unknown] ,运行后cabal install cabal-install ,这是不是很大。



Answer 6:

我也有这个问题。

运行后which cabal ,我发现它是用/usr/bin/cabal 。 删除这解决了这个问题。



Answer 7:

看来,阴谋默认本地安装包为当前用户,因此不会成为路径的一部分。 看看惊天动地文件明确步骤1.2.1在那里你可以改变默认安装全球事物的配置(不推荐)。

顺便我安装了阴谋cabal --global install cabal-install ,但仍然有与哈斯克尔以来的默认安装使的路径顺序路径问题C:\Program Files\Haskell Platform\2013.2.0.0\lib\extralibs\bin;C:\Program Files\Haskell Platform\2013.2.0.0\bin; 其中,所述第一路径在所述第二个优先级。 随着--global标志阴谋安装二进制到C:\Program Files\Haskell\bin这是不是在我的道路,但必须在之前添加C:\Program Files\Haskell Platform\2013.2.0.0\lib\extralibs\bin路径。

从资料为准

你必须把cabal.exe的目录中在您%PATH%,例如C:\ Program Files文件\哈斯克尔\ bin中。



Answer 8:

就我而言,这里几个答案的组合被要求通过这个问题来获得。 我会尝试提供一个答案在我的处境别人更全面的解决方案。

  • 对于初学者来说,运行which cabal表明我/usr/bin/cabal正在加载,这是一个符号链接/Library/Haskell/ghc-7.8.3-x86_64/bin/cabal 。 我相信正在安装的阴谋的新版本,但是这个路径是特定于某个版本,使他们被忽略了。 添加/Library/Haskell/bin我的前$PATH纠正这种情况。
  • 其次,更重要的是,新版本的cabal-install ,正在安装到我的阴谋沙箱,而不是系统的位置。 我没有看到任何其他的答案表明这一点,但我周围有点胡闹后发现,我的移动应用程序的目录允许的阴谋以外的实际安装到系统中。
  • 最后,加入--global标志提供给命令解决了这一问题。 我的最后一个命令是cabal install --global cabal-install 。 在此之后,我终于能正确地更新。

TL; DR:如果你使用的阴谋沙箱,移动你的项目和运行的目录以外的cabal install --global cabal-install 。 此外,检查您的$PATH变量,其他建议。



Answer 9:

在我的情况正在安装项目我在的.cabal的沙箱阴谋的新版本。

如检查的版本:

./.cabal-sandbox/bin/cabal --version

所以,我需要升级它的那个之外。 这是在OSX。



文章来源: Have I upgraded my cabal-install?