Mercurial (hg) Installation Without Being Root: Unterschied zwischen den Versionen
K (Added solution to another problem encountered.) |
|||
Zeile 68: | Zeile 68: | ||
==Problems that might occur (and occurred for me)== | ==Problems that might occur (and occurred for me)== | ||
− | If a 'dependency unmet' error occurs when trying to install python2.7-dev then follow the solution I proposed in this thread: | + | If a 'dependency unmet' error occurs when trying to install python2.7-dev then follow the solution I proposed in [http://stackoverflow.com/questions/19738218/error-processing-python2-7-minimal/21080087#21080087 this] thread: |
1. <code>sudo apt-get install aptitude</code> | 1. <code>sudo apt-get install aptitude</code> | ||
2. <code>sudo aptitude install python2.7-dev</code> | 2. <code>sudo aptitude install python2.7-dev</code> | ||
Zeile 75: | Zeile 75: | ||
Also a bunch of i386 programms will propably be removed during the process. (just trust Linux!) | Also a bunch of i386 programms will propably be removed during the process. (just trust Linux!) | ||
− | |||
− |
Version vom 12. Januar 2014, 21:31 Uhr
Solutions for installing mercurial from a package repository or via a self-extracting or any other installer for all operating system distribution can easily be found. So this is not the topic of thise Wiki entry. Here we cover the installation of a mercurial versioning system without root access. It is a necessary step for the creation of our synergetic hard and software development system that at a later point shall be mirrored by the Wiki to keep it up to date and to keep development efforts bundled in our versioning system (mercurial, git, svn, bzr, ...).
With a Python installation readily available or with rights to install a python environment:
If a python installation is available or you have a server where you have adminsitrative rights for installing the python and still want to have a local installation of mercurial into your home directory, this also is no problem by using the Mercurial script: make install-home (to include documentation) or make install-home-bin (for the executable only). If you used a custom python location for the script it is required to add the following to the command to communicate it to hg:
$ PYTHON=/path/to/python2.4-or-newer
$ make install-home
Source: http://mercurial.selenic.com/wiki/UnixInstall#Per-user_installation
Without Root access and no Python available:
To install mercurial without being root, needs us to bundle Python 2.x (as Python 3 is not yet supported as there is only one advantage in favour of upgrading, so it's not worth the effort currently).
Windows
For Windows there currently is PortablePython as a ready made option.
UNIX
For UNIX systems (Mac OS, GNU/Linux, Android, ...) or FreeBSD there are some packages floating around in the net, but it's sometimes hard to find the correct one for a certain architecture and operating system (what is needed to match the server's arch and os).
So if you have a system similar to the web server available where you have root access, the following is an option of how to get a working mercurial and python.
Virtual / bundled installation of Python
To create a virtual/bundled installation of Python and Mercurial there are two or more quite similar ways.
We will proceed in adapting this splendid blog entry of Fabrizio: https://weblogs.java.net/blog/fabriziogiudici/archive/2009/07/installing_merc.html .
For now it turned out that the blog post is no longer up to date as there will not be a binary for mercurial, namely 'python2/bin/hg' is missing.
To fix this:
$ tar -xvf mercurial_bundled_python.tar.gz
$ cd mercurial_bundled_python/
either
$ make install-home-bin
$ hg # should show version
or
$ make local # build for inplace usage
$ ./hg --version # should show the latest version
Problems that might occur (and occurred for me)
If a 'dependency unmet' error occurs when trying to install python2.7-dev then follow the solution I proposed in this thread:
1.sudo apt-get install aptitude
2.sudo aptitude install python2.7-dev
3. skip first proposed solution [Not installed] and wait for the next solution to be proposed: 4.take the solution to downgrade the dependencies.
Also a bunch of i386 programms will propably be removed during the process. (just trust Linux!)