Apakah mungkin untuk menginstal ctag tanpa root privs?

6

Saya memiliki akses pengguna ke instance Ubuntu dan saya ingin menggunakan CTags. Kesalahan mengatakan:

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

Ini dan semua instruksi online menunjukkan bahwa saya harus root. Apakah ada cara untuk menginstalnya sebagai pengguna?

mcgyver5
sumber

Jawaban:

15

Iya nih.

Anda perlu mengompilasinya sendiri dan menginstalnya di direktori home Anda.

Unduh sumber ctags: http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz

Dalam shell jam:

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

Ini akan mengkompilasi dan menginstal ctag di direktori home Anda. Biner yang dihasilkan adalah: $ HOME / bin / ctags

Anda sekarang harus memodifikasi variabel lingkungan PATH Anda sebelum meluncurkan vim.

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

letakkan baris ini di .bashrc Anda

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

Anda sekarang perlu memberi sumber daya .bashrc Anda (ingat bahwa .bashrc biasanya hanya dimuat dari shell yang tidak interaktif. Pastikan Anda mendapatkan .bashrc dari .bash_profile)

Jika perlu, modifikasi .bash_profile Anda dan pastikan memiliki garis seperti:

. $HOME/.bashrc

atau

source $HOME/.bashrc

Untuk melanjutkan tanpa menutup shell Anda, cukup ketik:

$ . $HOME/.bashrc

Anda sekarang dapat meluncurkan vim dan ctag akan berfungsi.


sumber
Tidak --- intinya dari Ubuntu dan Debian adalah Anda memiliki lebih dari 20.000 paket yang dibangun dengan baik dan terkonfigurasi.
3
Ya, terkadang Anda tidak memiliki izin untuk menjalankan instalasi apt-get, seperti ketika Anda memiliki akun dengan penyedia hosting tempat Anda berbagi mesin dengan banyak pengguna lain. Saya menemukan kadang-kadang saya perlu menginstal tarball sumber dengan cara ini, dan instruksi ini solid.
Harold L
paket debian sangat bagus dan semuanya, tetapi setiap pengguna unix harus tahu cara menginstal paket dari sumber ke direktori lokal. Ini berguna untuk menguji paket sebelum menginstal secara global, mengkompilasi versi pribadi yang berbeda dari versi lokal (saya selalu mengkompilasi mutt kustom untuk saya sendiri), dan ini berfungsi pada setiap sistem operasi mirip-unix.
Bagi saya sepertinya .bash_profile sudah dimuat bahkan hanya dengan terminal masuk (pengaturan oleh admin beberapa waktu lalu). Jadi menambahkan garis itu membuat referensi melingkar, dan mengunci bash! Menggunakan scp, Saya menyingkirkan .bash_profile dan memperbaikinya. Pos Anda sangat membantu secara umum. Hanya ingin menunjukkan kemungkinan masalah dengan menunjuk ke bashrc dari bash_profile.
phyatt
Sudahlah. Saya memiliki bagian lain dari bashrc saya yang sensitif untuk dimuat dua kali. Tidak terkait dengan jawaban Anda. Maaf atas informasi yang salah di pihak saya.
phyatt
6

Anda tidak perlu mengkompilasi apa pun. Ctags hanyalah program biner tunggal, sehingga Anda dapat mengunduh paket yang sesuai, membongkar paketnya dan meletakkannya di jalur Anda. Seperti itu:

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

sumber
+1 ide bagus. Mungkin tidak selalu berfungsi untuk perangkat lunak yang memiliki banyak dependensi (maka kompilasi dari sumber akan lebih mudah), tetapi jika berfungsi lebih mudah daripada kompilasi.
sleske
1

Anda harus dapat melakukannya sendiri jika Anda menyusun dan menginstal salinan editor Anda sendiri. Anda tidak akan dapat menginstal paket seluruh sistem seperti yang diminta tanpa menjadi root.

Paul McMillan
sumber
1

Jika Anda adalah orang yang menginstal mesin Ubuntu ini, maka Anda adalah pengguna dengan uid 1000 yang berarti bahwa Anda dapat menjalankan perintah yang diperlukan root Melalui sudo perintah, mis.

sudo app-get install exuberant-ctags

Anda mungkin harus mengawali ini dengan

sudo apt-get update

untuk mendapatkan informasi paket segar.

Dirk Eddelbuettel
sumber
Anda gagal membaca pertanyaan. Dia bilang dia tidak memiliki akses root.
Paul McMillan
1

Tentu saja, instal saja di direktori home Anda dari sumber.

Pergi ke http://ctags.sourceforge.net/ dan unduh versi terbaru. Perluas itu, buka terminal dan pergi ke direktori tempat Anda mengembangkannya, lalu lakukan ini:

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

Sekarang, edit PATH Anda dengan ini (dengan asumsi bash, yang mungkin adalah apa yang Anda gunakan jika Anda tidak tahu bagaimana melakukan ini tanpa bantuan):

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

Anda mungkin ingin menambahkan baris terakhir ke file .bashrc atau .bash_profile Anda juga.

Joshua D. Boyd
sumber
Bagaimana pwd ~ berbeda dari pwd saja? Mengapa tidak $ RUMAH saja?
Harold L
0

Anda selalu dapat menginstalnya secara lokal, katakanlah di bawah direktori home Anda. Setelah itu tambahkan direktori tempat ctag berada di variabel lingkungan PATH shell Anda.

dimba
sumber