Fresh Vim安装,Vim权限错误,Vundle无法正常运行

问题描述 投票:6回答:4

我在Linux Mint Debian Edition上安装了以下vim包:

vim
vim-common
vim-tiny
vim-runtime
vim-doc

我之前安装了上面的软件包,并且在安装Vundle之后(它通过http://github.com/gmarik/vundle上的说明功能)决定,以避免插件冲突,完全删除并重新安装所有上述vim软件包/ .vim文件夹,以便充分利用Vundle作为管理我的插件的一种方法。在我的文件浏览器中,我可以看到从git cloning ~/.vim创建的文件夹和所有继承的文件夹/文件都属于root。这会导致Vundle出现以下问题:

首先,当我执行:BundleSearch查询时:

为了进一步诊断我的问题,我尝试手动将一个包添加到我的vimrc中:

Bundle 'scrooloose/nerdtree'

使用Vundle GitHub中完全相同的vimrc设置,它适用于以前的安装。现在,当我尝试:BundleInstall时,我得到以下基于权限的错误:

[140112 13:48:10] 

[140112 13:48:10] Bundle scrooloose/nerdtree

[140112 13:48:10] $ git clone --recursive 'https://github.com/scrooloose/nerdtree.git' '/home/ahqiao/.vim/bundle/nerdtree'

[140112 13:48:10] > fatal: could not create work tree dir '/home/ahqiao/.vim/bundle/nerdtree'.: Permission denied\00

[140112 13:48:11] 

[140112 13:48:11] Helptags:

[140112 13:48:11] :helptags /home/ahqiao/.vim/bundle/vundle/doc/

[140112 13:48:11] > Error running :helptags /home/ahqiao/.vim/bundle/vundle/doc/

[140112 13:48:11] Helptags: 1 bundles processed

此外,我的vimrc还包含插件的标准两行:

filetype plugin on

set nocp

在过去,我也遇到过:helptags因为许可而无法访问~/.vim/doc的问题所以我不得不手动将帮助文件复制到非根文件夹并指向:helptags

我怎样才能克服这些根本问题?对我来说,Vundle对于管理我需要编码和跟踪的插件量非常重要。

vim vim-plugin bundle-install vundle
4个回答
11
投票

我不清楚~/.vim的所有者是如何设置root的,但如果是这种情况,Vundle肯定会无法更新软件包。

如果我理解正确,你现在已经按照你想要的方式安装了Vim,我建议重做自定义过程。


移动~/.vim(供参考)并创建将安装Vundle的bundle目录:

$ sudo mv ~/.vim ~/OLDvim
$ mkdir -p ~/.vim/bundle

这应该是您的用户拥有的空dir

重新安装Vundle

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

确保你的required lines~/.vimrc

  • 打开vim和
  • 运行:BundleInstall

一旦你完成它并且你对所有事情感到满意,你可以rm -rf ~/OLDvim


0
投票

现在回答已经很晚了,但这个问题仍然存在。我遇到了这个问题,这就是我解决它的方法。首先运行(安装插件时出错)

    :helptags /home/ahqiao/.vim/bundle/vundle/doc/

它将显示精确错误。在我的案例中,它是在两个ale doc文件ale-cpp.txt和ale-cpp.txt中找到的重复条目。

    Error: Duplicate Entries Found g:ale_cpp_flawfinder_executable
    Error: Duplicate Entries Found g:ale_c_flawfinder_executable

只需删除这些条目或注释掉并安装agin。现在它工作正常。


0
投票

回答也很晚,但在我的情况下,更改线路:

call vundle#begin('$USERPROFILE/.vim/bundle') 

call vundle#begin('$HOME/.vim/bundle') 

纠正了这个问题。显然,$ USERPROFILE没有定义,所以评估为root(/)。

这可能对某人有帮助....


0
投票

将.vim文件的所有权更改为我的用户名而不是root用户(为递归所有文件执行):

chown -R <username>:<username> .vim

这是more info about chown

注意:似乎重新安装的答案也会起作用(虽然最终没有尝试过),但是使用chown方法你不必重新安装步骤。

© www.soinside.com 2019 - 2024. All rights reserved.