我可以在我的主目录中安装Mercurial吗?

时间:2011-12-16 16:34:49

标签: linux unix mercurial installation root

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

如何以某种方式执行此操作,以便我可以轻松地再次卸载Mercurial并在新版本发布时升级它?

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

3 个答案:

答案 0 :(得分:7)

主页目录中的Mercurial,怎么样?

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

如果您有疑问,这个链接的wiki-post肯定会提供一些帮助;

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

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

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


在没有管理员的情况下在Windows上安装Mercurial,怎么做?

按照以下链接将引导您进入Mercurial的下载部分。在那里,您将能够找到不需要管理权限的Windows安装包。

答案 1 :(得分:2)

的Linux

Mercurial source comes Makefile,其目标为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版本。如果您想要从hg update stable分支进行构建,请在编译之前使用stable。该分支仅使用错误修正更新。

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

答案 2 :(得分:2)

我知道这个问题已经得到解答,但有人可能处于我的状态,那就是必须在没有C编译器的情况下安装并制作。

不使用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...