无法使用 Curl 写入隐藏路径

无法使用 Curl 写入隐藏路径

我今天全新安装了 Ubuntu 20.04。我已设置好 vim 环境,遇到问题时使用 curl 安装 plug.vim。

Error creating directory /home/simon/.vim/autoload.
curl: (23) Failed writing received data to disk/application

.vimrc 中的相关行是:

" Auto-install plugin manager if it doesnt exist (and PlugInstall)
if empty(glob('~/.vim/autoload/plug.vim'))
    silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
        \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
    autocmd VimEnter * PlugInstall | source $MYVIMRC
endif

尝试隔离问题,似乎我不能使用包含点文件的路径作为 curl 的输出。

例如,这会失败:

➜  ~ curl -fLo ~/.test_dot_folder/test.py --create-dirs example.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Failed to create the file /home/simon/.test_dot_folder/test.py: No 
Warning: such file or directory
100  1256  100  1256    0     0   2800      0 --:--:-- --:--:-- --:--:--  2803
curl: (23) Failure writing output to destination

但这有效:

➜  ~ curl -fLo ~/test_dot_folder/test.py --create-dirs example.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1256  100  1256    0     0   2659      0 --:--:-- --:--:-- --:--:--  2661
➜  ~ 

唯一的区别是.文件夹前面的。即使我这样做

mkdir .test_dot_folder

然后运行第一个 curl 命令,仍然失败。

如果您对目录中的权限感到疑惑:

pathlld这是我在主目录上运行@waltinator 的脚本时发生的情况。

➜  ~ sudo code/pathlld.sh -v . 

drwxr-xr-x 22 simon simon 4096 Aug  7 20:15 . 
/dev/nvme0n1p5 on / type ext4 (rw,relatime,errors=remount-ro)

对于出了什么问题,您有什么建议吗?

答案1

奇怪的是,巧合的是,我遇到了和你一模一样的问题。不仅是 curl,还有 Vim 和 Plug。世界真小。

curl我猜测解决这个问题的原因是因为我正在使用的东西存在问题。

我已经从 snap 商店安装了 curl:

sudo snap install curl

然后我收到了与您相同的错误信息:

$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs     https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Error creating directory /home/ian/.vim/autoload.
curl: (23) Failed writing received data to disk/application

我的解决方法是删除 snap curl 并安装基本的 apt curl:

$ sudo snap remove curl
$ sudo apt install curl

瞧……

$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs     https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 82784  100 82784    0     0   612k      0 --:--:-- --:--:-- --:--:--  612k

相关内容