首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cabal安装的Darcs未注册为shell命令

使用cabal安装的Darcs未注册为shell命令
EN

Stack Overflow用户
提问于 2012-12-26 22:34:48
回答 3查看 391关注 0票数 3

作为在我的电脑上安装Ubuntu的一部分,我apt-get安装了cabal。在运行cabal update之后,我运行了cabal install darcs,发现我需要诅咒,安装了libncurses5-dev,发现我需要curl,安装了它,当它仍然不起作用时,运行cabal install darcs -f-curl

这是可行的,但是在只运行darcs时,darcs不能从外壳运行。它是安装在~/.cabal/bin/darcs中的,所以我创建了一个从那里到/binlink。Darcs现在可以在shell中工作,但我想知道是否有更好的方法,也许是在sudo下运行cabal install

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-27 01:50:13

首先,不要使用sudo。即使在根目录下运行,cabal也会在您的主目录中构建内容,因此不加区别地使用sudo可能会在您的~/.cabal中生成根用户拥有的文件。相反,可以在/.cabal/config中设置root-cmd: sudo,然后使用--global选项的cabal将根据需要调用该命令。

其次,使用本地安装通常比使用全局安装更方便、更安全,因为您将包管理器和cabal分开。所以你也可以把这个代码添加到你的~/.bashrc

代码语言:javascript
复制
export PATH=$HOME/.cabal/bin:$PATH

然后继续安装东西,根本不使用sudo

另请参阅:一个略显悲观但信息丰富的article on cabal package management

票数 4
EN

Stack Overflow用户

发布于 2012-12-26 22:44:03

默认情况下,cabal不需要管理员权限即可安装。因此,它不能安装到例如/usr/bin中。由于$HOME/bin不是标准,折衷的办法是将可执行文件放入~/.cabal/bin中。

然后,您可以将~/.cabal/bin添加到path中以查看这些可执行文件(例如,通过在.bashrc中附加以下内容:

代码语言:javascript
复制
 export $PATH=$PATH:~/.cabal/bin

如果您的计算机中有管理员权限,请务必使用--global标志。

票数 6
EN

Stack Overflow用户

发布于 2012-12-26 22:34:48

在这种情况下,需要使用--global标志。使用-f-curl运行sudo cabal install darcs -f-curl --global,因为cabal找不到curl,运行--global使其安装到usr/local/bin中,然后运行sudo以确保它可以正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14042035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档