【问题标题】:Can I install Mercurial in my home directory?我可以在我的主目录中安装 Mercurial 吗?
【发布时间】:2011-12-16 16:34:48
【问题描述】:

我想在我没有root 访问权限的 Linux 系统上安装 Mercurial。

我怎样才能做到这一点,以便我可以轻松地再次卸载 Mercurial 并在新版本发布时对其进行升级?

另外,我能否获得不需要管理员权限安装的 Windows 软件包?

【问题讨论】:

  • Mercurial 团队的核心开发人员会问这些问题,这很奇怪。但再说一次,这就是互联网,没有什么让我感到惊讶了。 我猜这对团队有一些 SEO 价值,或者小猫……很多小猫。他们的小猫在哪里!?
  • 是的,我也觉得有点奇怪 :-) 请看我们在这里的讨论:stackoverflow.com/questions/8521793/…
  • 没问题,谢谢解答!

标签: linux unix mercurial installation root


【解决方案1】:

主目录中的 Mercurial,如何?

在您的主目录中编译和安装 Mercurial 非常容易,我自己就是这样做的。

如果您有任何疑问,此链接的 wiki 帖子肯定会提供一些帮助;

使用make install-homehg 安装到你的主目录,它会将二进制文件放在~/bin 中,关联文件放在~/lib 中。

卸载或升级到新版本时,您可以删除 makefile 放入的文件,或者让make install-home(如果升级)覆盖现有文件。

确保在安装后更新您的$PATH,使其包含~/bin


无需管理员即可在 Windows 上安装 Mercurial,如何?

点击下面的链接将带您进入 Mercurial 的下载部分。在那里,您将能够找到不需要管理权限的 Windows 安装包。

【讨论】:

  • 很棒的 wiki 链接!
【解决方案2】:

我知道这个问题已经得到解答,但有人可能会遇到我的情况,那就是必须在没有 C 编译器和 make 的情况下安装。

在没有 C 编译器的情况下安装并生成

解决方案的完整描述可以在link找到。

命令列表,不使用make

wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg
mkdir -p ~/software/lib/python2.5/site-packages
export PYTHONPATH=~/software/lib/python2.5/site-packages
sh setuptools-0.6c11-py2.5.egg --prefix=~/software
export PATH=${PATH}:~/software/bin
easy_install --prefix=~/software docutils
cd ~/software
wget https://www.mercurial-scm.org/release/mercurial-2.5.2.tar.gz
tar xzvf mercurial-2.5.2.tar.gz
cd mercurial-2.5.2.tar.gz
python setup.py --pure install --home="~/software" --force
cd ~/software/lib/python
mv hgext/ ../python2.5/site-packages/
mv mercurial ../python2.5/site-packages/
mv mercurial-2.5.2.egg-info ../python2.5/site-packages/

将以下行添加到.bashrc:

export PYTHONPATH=~/software/lib/python2.5/site-packages
export PATH=${PATH}:~/software/bin

检查:

~$ hg
Mercurial Distributed SCM
etc...

【讨论】:

  • 让我补充一点,如果没有 C 扩展,Mercurial 会运行得更慢。
【解决方案3】:

Linux

带有MakefileMercurial source comes 具有local 目标。如果您运行它,那么您将就地构建 C 扩展:

$ make local
... (lots of output) ...
python hg version
Mercurial Distributed SCM (version 5b66e55c0d93+20111216)
(see https://www.mercurial-scm.org for more information)

Copyright (C) 2005-2011 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

您将需要 Python 头文件,它们通常位于 python-dev 包中。然后,您可以将hg 脚本符号链接到您的PATH 中的目录中。我为此使用~/bin

$ cd ~/bin
$ ln -s ../src/mercurial/hg

您现在可以从任何目录运行hg

如果您想卸载 Mercurial,只需删除您进行编译的目录即可。升级也很简单:在目录中解压新版本并再次运行make local。您还可以使用新安装的 Mercurial 克隆 Mercurial 存储库本身:

$ hg clone https://www.mercurial-scm.org/repo/hg
$ cd hg
$ make local

这为您提供了来自 default 分支的 Mercurial 版本。如果您想从stable 分支构建,请在编译前使用hg update stable。该分支仅使用错误修复进行更新。

窗口

在该平台上,您可以使用Inno setup installers。他们不需要管理员权限。如果您愿意,可以将其与portable version of TortoiseHg 结合使用。

【讨论】:

  • 他可能不应该使用make local,除非他只是在寻找一个测试会话。 make install-home 似乎更适合他的需求。
  • 哦,shiznit,我没有注意到是 OP 回答了他自己的问题。如果你想在你的主目录中正确安装它,“你”不应该使用 make local。
  • 抱歉给您带来了困惑... :-) 我只是在尝试这种风格,看看它是否对人们有帮助。
  • 哇,这简直太简单了!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-27
  • 1970-01-01
  • 2016-07-18
相关资源
最近更新 更多