Рейтинг:4

Не удается записать скрытый путь с помощью Curl

флаг ru

Сегодня я сделал новую установку Ubuntu 20.04. Я дошел до настройки своей среды vim, которая устанавливает plug.vim с помощью curl, когда я натыкаюсь на лежачего полицейского.

Ошибка создания каталога /home/simon/.vim/autoload.
curl: (23) Ошибка записи полученных данных на диск/приложение

Соответствующие строки в .vimrc:

" Автоматическая установка менеджера плагинов, если он не существует (и PlugInstall)
если пусто (glob ('~/.vim/autoload/plug.vim'))
    тихий !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
        \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
    автокоманда VimEnter * PlugInstall | источник $MYVIMRC
конец

Пытаясь изолировать проблему, кажется, что я не могу использовать путь с точечным файлом в качестве вывода для curl.

например. Это не удается:

➢ ~ curl -fLo ~/.test_dot_folder/test.py --create-dirs example.com
  % Всего % Получено % Xferd Средняя скорость Время Время Время Текущее
                                 Dload Upload Общая потраченная левая скорость
  0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0Предупреждение: не удалось создать файл /home/simon/.test_dot_folder/test.py : Нет 
Предупреждение: такой файл или каталог
100 1256 100 1256 0 0 2800 0 --:--:-- --:--:-- --:--:-- 2803
curl: (23) Ошибка записи вывода в место назначения

Но это работает:

➢ ~ curl -fLo ~/test_dot_folder/test.py --create-dirs example.com
  % Всего % Получено % Xferd Средняя скорость Время Время Время Текущее
                                 Dload Upload Общая потраченная левая скорость
100 1256 100 1256 0 0 2659 0 --:--:-- --:--:-- --:--:-- 2661
~ 

Единственная разница в том, . перед папкой. Даже когда я делаю

mkdir .test_dot_folder

а затем запустите первую команду curl, она все равно не работает.

Если вас интересуют разрешения в каталоге:

Вот что происходит, когда я запускаю @waltinator's путь script в моем домашнем каталоге.

➢ ~ sudo code/pathlld.sh -v . 

drwxr-xr-x 22 саймон саймон 4096 7 авг 20:15 . 
/dev/nvme0n1p5 на / введите ext4 (rw,relatime,errors=remount-ro)

Любые предложения относительно того, что происходит не так?

waltinator avatar
флаг it
Исследуйте свои проблемы с разрешениями/владениями с помощью `https://github.com/waltinator/pathlld`. Скрипт `bash` для ответа на вопрос "Почему я не могу прочитать/записать этот файл?".
Teg Veece avatar
флаг ru
Спасибо @waltinator. Я скачал скрипт, но неясно, что я должен предоставить в качестве входных данных. Команда curl не работает при создании файла, начинающегося с `.`, в моем домашнем каталоге, для которого у меня, кажется, есть все соответствующие разрешения: ➤ /home ./simon/code/pathlld.sh саймон drwxr-xr-x 22 саймон саймон 4096 7 авг 05:49 саймон
waltinator avatar
флаг it
Введите `sudo /path/to/pathlld.sh /path/to/problem`.
Teg Veece avatar
флаг ru
Я получаю это: `drwxr-xr-x 22 саймон саймон 4096 7 авг 20:15 . /dev/nvme0n1p5 на / введите ext4 (rw,relatime,errors=remount-ro)` Как мне это интерпретировать?
waltinator avatar
флаг it
Пожалуйста, [отредактируйте] свой пост, чтобы добавить новую информацию в правильном формате. Информацию, добавленную через комментарии, трудно форматировать для вас, трудно читать нам и игнорировать будущие читатели. Пожалуйста, нажмите [редактировать] и добавьте эту важную информацию к вашему вопросу, чтобы все факты, которые нам нужны, были в вопросе. Пожалуйста, не используйте «Добавить комментарий», так как это наша ссылка на вас. Все факты о вашей системе должны быть указаны в вопросе с [править]
Teg Veece avatar
флаг ru
Спасибо. Я обновил исходный пост.
waltinator avatar
флаг it
Поскольку у вас проблема с `/home/simon/.vim/autoload`, а не с текущим каталогом, вы должны `sudo code/pathlld.sh /home/simon/.vim/autoload`
Teg Veece avatar
флаг ru
Спасибо за вашу помощь. Две вещи: 1. Этот каталог не существует до того, как я запустил команду curl (предполагается, что `curl` создаст его). 2. Ошибка возникает, даже если я укажу curl, чтобы создать выходной файл в домашнем каталоге, имя файла которого начинается с `.` (т.е. скрыто).Он работает нормально, если имя файла не содержит скрытого каталога или имени файла.
Рейтинг:4
флаг cn

Странно и случайно у меня была точно такая же проблема, как у вас. Не только с curl, но и с Vim и plug одновременно. Маленький мир.

Я предполагаю, что это можно исправить, потому что это была проблема с завиток что я использовал.

Я установил завиток из магазина оснастки:

sudo snap установить завиток

Затем я получил то же сообщение об ошибке, что и вы:

$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Ошибка создания каталога /home/ian/.vim/autoload.
curl: (23) Ошибка записи полученных данных на диск/приложение

Мое исправление состояло в том, чтобы удалить snap curl и установить базовый apt curl:

$ sudo snap удалить завиток
$ sudo apt установить завиток

и вуаля...

$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  % Всего % Получено % Xferd Средняя скорость Время Время Время Текущее
                                 Dload Upload Общая потраченная левая скорость
100 82784 100 82784 0 0 612k 0 --:--:-- --:--:-- --:--:-- 612k
gan avatar
флаг it
gan
Это сработало и для меня. Спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.