Ist es möglich, ctags ohne Root Privs zu installieren?

9558
mcgyver5

Ich habe Benutzerzugriff auf eine Ubuntu-Instanz und möchte CTags verwenden. Der Fehler sagt:

The program 'ctags' can be found in the following packages: * exuberant-ctags * emacs22-bin-common * emacs21-bin-common * elvis-tools * emacs-snapshot-bin-common Ask your administrator to install one of them -bash: ctags: command not found 

Diese und alle Online-Anweisungen zeigen an, dass ich root sein muss. Gibt es eine Möglichkeit, es als Benutzer zu installieren?

6

6 Antworten auf die Frage

15

Ja.

Sie müssen es selbst kompilieren und in Ihrem Home-Verzeichnis installieren.

Laden Sie die ctags-Quelle herunter: http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz

In der Stundenhülle:

$ tar zxf ctags-5.8.tar.gz $ cd ctags-5.8 $ ./configure --prefix=$HOME $ make && make install 

Dadurch werden ctags in Ihrem Home-Verzeichnis kompiliert und installiert. Die resultierende Binärdatei lautet: $ HOME / bin / ctags

Sie müssen jetzt die Umgebungsvariable PATH vor dem Start von vim ändern.

$ vim $HOME/.bashrc (or whichever shell you're using) 

Setzen Sie diese Zeile in Ihre .bashrc

export PATH="$HOME/bin:$PATH" 

Sie müssen nun Ihre .bashrc-Ressource neu einrichten (denken Sie daran, dass .bashrc normalerweise nur aus nicht interaktiven Shells geladen wird. Stellen Sie sicher, dass Sie .bashrc aus .bash_profile beziehen.)

Ändern Sie gegebenenfalls Ihr .bash_profile und stellen Sie sicher, dass es eine Zeile wie folgt enthält:

. $HOME/.bashrc 

oder

source $HOME/.bashrc 

Um fortzufahren, ohne die Shell zu schließen, geben Sie einfach Folgendes ein:

$ . $HOME/.bashrc 

Sie können jetzt vim starten und ctags funktionieren.

Nein, der Punkt von Ubuntu und Debian ist, dass Sie mehr als 20.000 sorgfältig erstellte und konfigurierte Pakete zur Verfügung haben. vor 14 Jahren 0
Ja, manchmal haben Sie keine Berechtigung zum Ausführen von apt-get install, z. B. wenn Sie ein Konto bei einem Hosting-Provider haben, bei dem Sie den Computer mit vielen anderen Benutzern teilen. Manchmal finde ich, dass ich auf diese Weise ein Quell-Tarball installieren muss, und diese Anweisungen sind solide. Harold L vor 14 Jahren 3
Debian-Pakete sind wunderbar und alle, aber jeder Unix-Benutzer sollte wissen, wie Pakete von der Quelle in ein lokales Verzeichnis installiert werden. Es ist nützlich, um Pakete vor der globalen Installation zu testen, eine persönliche Version zu erstellen, die sich von der lokalen Version unterscheidet (ich kompiliere immer einen benutzerdefinierten Mutt), und sie funktioniert auf jedem Unix-ähnlichen Betriebssystem. vor 14 Jahren 0
Für mich sieht es so aus, als würde `.bash_profile` bereits mit einem Terminal-Login geladen (Setup vor einiger Zeit vom Administrator). Durch das Hinzufügen dieser Zeile wurde ein Zirkelverweis erstellt und die Bash eingesperrt! Mit `scp` habe ich` .bash_profile` losgelassen und behoben. Ihr Beitrag ist im Allgemeinen hilfreich. Ich wollte nur auf das mögliche Problem hinweisen, wenn Sie von bash_profile auf bashrc zeigen. phyatt vor 8 Jahren 0
Keine Ursache. Ich hatte einen anderen Teil meiner Basisstation, der empfindlich war, zweimal geladen zu werden. Nicht im Zusammenhang mit Ihrer Antwort. Entschuldigung für die Fehlinformationen meinerseits. phyatt vor 8 Jahren 0
6

Sie müssen nichts kompilieren. Ctags ist nur ein einzelnes Binärprogramm. Sie können das entsprechende Paket herunterladen, entpacken und die Binärdatei in Ihren Pfad einfügen. So wie das:

cd mkdir tmp cd tmp  wget http://mirrors.kernel.org/ubuntu/pool/main/e/exuberant-ctags/exuberant-ctags_5.5.4-1_i386.deb dpkg -x exuberant-ctags_5.5.4-1_i386.deb . mkdir ~/bin cp usr/bin/ctags-exuberant ~/bin cd ~/bin ln -sf ctags-exuberant ctags export PATH=$PATH:$HOME/bin 
+1 gute idee. Funktioniert möglicherweise nicht immer für Software, die viele Abhängigkeiten hat (dann wird das Kompilieren aus der Quelle einfacher), aber wenn es funktioniert, ist es einfacher als das Kompilieren. sleske vor 14 Jahren 0
1
Paul McMillan

Sie sollten es selbst tun können, wenn Sie eine eigene Kopie des Editors kompilieren und installieren. Sie werden nicht in der Lage sein, ein systemweites Paket so zu installieren, wie es gewünscht wird, ohne root zu sein.

1
Dirk Eddelbuettel

Wenn Sie diese Ubuntu-Maschine installiert haben, sind Sie der Benutzer mit uid 1000, was bedeutet, dass Sie Befehle ausführen können, die rootüber den sudoBefehl erforderlich sind, z

sudo app-get install exuberant-ctags 

Möglicherweise müssen Sie diesem vorangestellt werden

sudo apt-get update 

um frische Paketinformationen zu erhalten.

Sie können die Frage nicht lesen. Er sagte, er habe keinen Root-Zugriff. Paul McMillan vor 14 Jahren 0
1
Joshua D. Boyd

Natürlich installieren Sie es einfach in Ihrem Home-Verzeichnis von der Quelle.

Gehen Sie zu http://ctags.sourceforge.net/ und laden Sie die neueste Version herunter. Erweitern Sie es, öffnen Sie ein Terminal und wechseln Sie in das Verzeichnis, in dem Sie es erweitert haben. Gehen Sie dann folgendermaßen vor:

./configure --prefix=`( cd ~ ; pwd ~ )` make all make install 

Bearbeiten Sie nun Ihren PATH mit diesem (vorausgesetzt, bash ist das, was Sie wahrscheinlich verwenden, wenn Sie nicht wissen, wie Sie dies ohne Hilfe tun können):

export PATH=$PATH:`( cd ~ ; pwd ~ )`/bin 

Möglicherweise möchten Sie diese letzte Zeile auch in Ihre .bashrc- oder .bash_profile-Datei einfügen.

Wie unterscheidet sich pwd ~ von nur pwd? Warum nicht einfach $ HOME? Harold L vor 14 Jahren 0
0
dimba

Sie können es immer lokal installieren, z. B. in Ihrem Heimatverzeichnis. Fügen Sie anschließend das Verzeichnis, in dem sich ctags befindet, zu Ihrer Shell PATH-Umgebungsvariablen hinzu.