是否可以在没有 root 权限的情况下安装 ctags?

mcg*_*er5 8 linux vim ctags ubuntu

我有用户访问 Ubuntu 实例的权限,我想使用 CTags。错误说:

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
Run Code Online (Sandbox Code Playgroud)

这和所有在线说明都表明我需要成为 root。有没有办法以用户身份安装它?

小智 17

是的。

您需要自己编译它并将其安装在您的主目录中。

下载ctags源码:http : //prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz

在小时壳:

$ tar zxf ctags-5.8.tar.gz
$ cd ctags-5.8
$ ./configure --prefix=$HOME
$ make && make install
Run Code Online (Sandbox Code Playgroud)

这将在您的主目录中编译和安装 ctags。生成的二进制文件将是: $HOME/bin/ctags

您现在必须在启动 vim 之前修改 PATH 环境变量。

$ vim $HOME/.bashrc (or whichever shell you're using)
Run Code Online (Sandbox Code Playgroud)

将此行放在您的 .bashrc 中

export PATH="$HOME/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

您现在需要为 .bashrc 提供资源(请记住,.bashrc 通常仅从非交互式 shell 加载。确保您从 .bash_profile 获取 .bashrc)

如果需要,请修改您的 .bash_profile 并确保它有如下一行:

. $HOME/.bashrc
Run Code Online (Sandbox Code Playgroud)

或者

source $HOME/.bashrc
Run Code Online (Sandbox Code Playgroud)

要在不关闭 shell 的情况下继续,只需键入:

$ . $HOME/.bashrc
Run Code Online (Sandbox Code Playgroud)

您现在可以启动 vim 并且 ctags 将工作。

  • 是的,有时您无权运行 apt-get install,例如当您在托管服务提供商处拥有一个帐户时,您与许多其他用户共享计算机。我发现有时我需要以这种方式安装源 tarball,这些说明是可靠的。 (4认同)

小智 6

你不必编译任何东西。Ctags 只是一个二进制程序,因此您可以下载适当的包,解压缩并将二进制文件放在您的路径中。像那样:

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
Run Code Online (Sandbox Code Playgroud)