Не удалось разархивировать в /usr/local – где и как установить SDK / библиотеки – здесь SDK Flutter

Вопрос или проблема

Я новичок в Linux / Ubuntu и хочу установить SDK Flutter, и в их документации рекомендуются следующие шаги:

  1. Создайте папку, в которую вы можете установить Flutter. Рассмотрите возможность создания каталога по адресу ~/development/.

  2. Извлеките файл в каталоге, в котором вы хотите хранить SDK Flutter.

tar -xf ~/Downloads/flutter_linux_3.x.tar.xz -C ~/development/

Когда закончите, SDK Flutter должен находиться в каталоге ~/development/flutter.

Но размещение около 14000 файлов с общим размером 1,7 ГБ в директории моего домашнего каталога ~/ кажется мне неправильным. В разделе Где установить библиотеки вручную? или Где хранить файлы SDK Android рекомендуются два варианта:

  1. использовать /usr/local/lib/, как рекомендует FHS
  2. использовать /opt/ и ссылки на Linux-Filesystem-Hierarchy / opt

Поэтому я попробовал

$ sudo mkdir -p /usr/local/lib/flutter-sdk
$ tar -xf ~/Downloads/flutter_linux_3.24.3-stable.tar.xz  -C /usr/local/lib/flutter-sdk/

Но я получил сотни сообщений, похожих на

tar: flutter/docs/platforms/Hybrid-Composition.md: open failed: Файл или папка не найдены
tar: flutter/docs: функция mkdir не удалась: Файл или папка не найдены

Попытка использовать sudo tar -xf ... не удалась.

Вопросы

  • Как я могу извлечь файлы в целевую папку /usr/local/lib/flutter-sdk/?
  • Должен ли я вносить изменения в определенные права (доступ на чтение и запись) для обычного / неroot пользователя после того, как папки и файлы были извлечены?

Во-первых, я не совсем понимаю, почему вы не хотите иметь это в вашем домашнем каталоге. Это кажется самым простым и естественным местом для установки чего-то, чем будете пользоваться только вы. Это также упрощает создание резервных копий и обновление вашей системы, так как это будет в каталоге, который вы контролируете. Так что я на самом деле бы просто использовал ~/development или что-то еще, но в каталоге в вашем $HOME. Это также означает, что не нужно доступа root.

Тем не менее, если вы хотите поместить это в системный каталог, не используйте /usr/local/lib, используйте /usr/local. Вы не устанавливаете библиотеку, поэтому это не должно находиться в каталоге lib/. Поэтому, если вы настаиваете на том, чтобы это было в /usr/local, я бы сделал так:

sudo tar -xf ~/Downloads/flutter_linux_3.24.3-stable.tar.xz  -C /usr/local

Я только что попробовал это на своем компьютере, и все сработало без проблем. Извлечение создаст /usr/local/flutter, который теперь содержит:

$ ls /usr/local/flutter/
analysis_options.yaml  CODE_OF_CONDUCT.md    dev                  flutter_root.iml  README.md
AUTHORS                CODEOWNERS            docs                 LICENSE           TESTOWNERS
bin                    CONTRIBUTING.md       examples             packages          version
CHANGELOG.md           dartdoc_options.yaml  flutter_console.bat  PATENT_GRANT

Другие изменения прав не понадобятся. Теперь вы можете запустить /usr/local/flutter/bin/flutter или, проще, добавить эту строку в ваш ~/.bashrc, чтобы добавить каталог в ваш PATH:

export PATH="$PATH:/usr/local/flutter/bin/"

Теперь откройте новый терминал, и вы можете просто выполнить flutter.

Ответ или решение

Установка Flutter SDK в Ubuntu: Инструкция по извлечению и настройке

Введение

Установка Flutter SDK на Ubuntu может вызвать некоторые сложности, особенно для тех, кто только начинает изучать Linux. В данной инструкции мы рассмотрим, как правильно извлечь Flutter SDK в желаемую директорию, а также ответим на распространенные вопросы по настройке прав доступа.

Проблема с извлечением в /usr/local/lib

При попытке извлечь Flutter SDK в директорию /usr/local/lib, вы столкнулись с рядом ошибок, сообщающих о неудачах в открытии файлов и создании папок. Это связано с тем, что вы пытаетесь установить SDK в неправильную директорию. Директория lib предназначена для библиотек, а Flutter SDK является целым набором инструментов, поэтому его следует извлекать в директорию, соответствующую его назначению.

Правильный способ установки Flutter SDK

Для корректной установки Flutter SDK выполните следующие шаги:

  1. Создайте директорию для Flutter. Вы можете использовать /usr/local, чтобы хранить программное обеспечение, доступное для всех пользователей.
  2. Извлеките файл SDK в эту директорию.

Команды для установки

Откройте терминал и выполните:

sudo mkdir -p /usr/local/flutter
sudo tar -xf ~/Downloads/flutter_linux_3.24.3-stable.tar.xz -C /usr/local/flutter --strip-components=1

Объяснение команд:

  • sudo — выполните команды с правами администратора.
  • mkdir -p /usr/local/flutter — создаст директорию, если она еще не существует.
  • tar -xf ... — распакует архив. Опция --strip-components=1 удаляет уровень вложенности в структуре каталогов, чтобы содержимое резервного копирования помещалось непосредственно в /usr/local/flutter.

Настройка прав доступа

После извлечения SDK вам следует настроить права доступа, чтобы пользователи могли запускать Flutter без проблем. Для этого выполните:

sudo chown -R $USER:$USER /usr/local/flutter

Эта команда изменит владельца всех файлов внутри /usr/local/flutter на вашего текущего пользователя.

Обновление пути

Чтобы легко запускать Flutter из любого места в терминале, вам следует добавить путь к бинарным файлам Flutter в переменную окружения PATH. Для этого добавьте следующую строку в файл ~/.bashrc:

echo 'export PATH="$PATH:/usr/local/flutter/bin"' >> ~/.bashrc

После этого примените изменения:

source ~/.bashrc

Теперь вы сможете запускать Flutter, просто введя команду flutter в терминале.

Заключение

Теперь у вас есть полное руководство по установке и настройке Flutter SDK на Ubuntu. Следуя указанным шагам, вы сможете избежать распространенных ошибок и легко управлять правами доступа к установленному программному обеспечению. Если у вас возникнут вопросы или проблемы, не стесняйтесь использовать ресурсы сообщества или официальные документы Flutter для дополнительной справки.

Оцените материал
Добавить комментарий

Капча загружается...