Реестр пакетов CRAN
Для работы с реестром пакетов CRAN, необходимо получить транспортный токен Gitflic. С инструкцией по получению токена можно ознакомиться на странице.
В документации ниже встречается атрибут {домен gitflic}
На его место необходимо указать домен, в зависимости от версии:
-
для SaaS версии
registry.gitflic.ru
-
для self-hosted
localhost:8080
Домен и порт для self-hosted версии может отличаться.
CRAN пакеты могут содержать файлы двух типов - исходные (пакеты с расширением .tar.gz
) и бинарные (пакеты с расширением .tgz
или zip
). Публикация и загрузка пакетов зависит от типа файлов.
Публикация пакета
Для публикации пакетов с исходными файлами необходимо отправить запрос через команду строку.
Для публикации на уровне проекта:
curl --upload-file {path/to/package}/{filename}.{extension} https://{username}:{транспортный токен}@{домен gitflic}/project/{ownerAlias}/{projectAlias}/package/-/cran/src/{filename}.{extension}
Для публикации на уровне компании:
curl --upload-file {path/to/package}/{filename}.{extension} https://{username}:{транспортный токен}@{домен gitflic}/company/{companyAlias}/package/-/cran/src/{filename}.{extension}
Для публикации пакетов с бинарными файлами необходимо отправить запрос через команду строку.
Для публикации на уровне проекта:
curl --upload-file {path/to/package}/{filename}.{extension} https://{username}:{transport_token}@{домен gitflic}/project/{ownerAlias}/{projectAlias}/package/-/cran/bin/{filename}.{extension}?platform={platform}&rversion={languageVersion}
Для публикации на уровне компании:
curl --upload-file {path/to/package}/{filename}.{extension} https://{username}:{transport_token}@{домен gitflic}/company/{companyAlias}/package/-/cran/bin/{filename}.{extension}?platform={platform}&rversion={languageVersion}
На некоторых операционных системах может возникнуть ошибка при публикации пакета. Для решения проблемы необходимо взять URL в двойные кавычки
"{URL}"
Переменная в URL | Описание |
---|---|
ownerAlias |
Псевдоним владельца проекта |
projectAlias |
Псевдоним проекта |
companyAlias |
Псевдоним компании |
path/to/package/filename.extension |
Путь к файлу пакета с его расширением. .tar.gz для исходных, .tgz или zip для бинарных файлов |
username |
Имя пользователя |
транспортный токен |
Транспортный токен пользователя |
filename |
Имя пакета с расширением |
platform |
Платформа, для которой создан пакет. Может принимать следующие значения: macosx , windows |
languageVersion |
Версия языка программирования R |
Параметр
platform
не принимает значениеlinux
так как официальный сайт не предоставляет пакеты для UNIX систем.
Если все выполнено верно, то должно появится сообщение об успешной публикации пакета Success
Загрузка пакета
Подготовка
Все команды для загрузки пакетов выполняются через R консоль. Способ подключения к данной консоли различается в зависимости от используемой операционной системы:
macOS и Windows
Установить язык программирования R с официального сайта для вашей операционной системы.
Linux (Ubuntu/Debian)
Установить язык программирования R с помощью команд:
sudo apt update
sudo apt install r-base
Для подключения к R консоли необходимо воспользоваться командой: sudo -i R
Linux (Red Hat/Fedora)
Установить язык программирования R с помощью команд:
sudo dnf install epel-release
sudo dnf install R
Для подключения к R консоли необходимо воспользоваться командой: sudo -i R
Загрузка пакета целиком
Для загрузки пакета необходимо выполнить команду через R консоль:
Загрузка для уровня проекта
install.packages('{packageName}', repos='https://{username}:{транспортный токен}@{домен gitflic}/project/{ownerAlias}/{projectAlias}/package/-/cran')
Загрузка для уровня компании
install.packages('{packageName}', repos='https://{username}:{транспортный токен}@{домен gitflic}/company/{companyAlias}/package/-/cran')
Загрузка для всего сервиса
install.packages('{packageName}', repos='https://{username}:{транспортный токен}@{домен gitflic}/registry/package/-/cran')
Переменная в URL | Описание |
---|---|
packageName |
Название пакета. Указывается без расширения |
username |
Имя пользователя |
транспортный токен |
Транспортный токен пользователя |
ownerAlias |
Псевдоним владельца проекта |
projectAlias |
Псевдоним проекта |
companyAlias |
Псевдоним компании |
Загрузка отдельного файла
Для загрузки отдельных файлов необходимо выполнить команду через R консоль:
Загрузка для уровня проекта
Исходные файлы
install.packages('https://{username}:{транспортный токен}@{домен gitflic}/project/{ownerAlias}/{projectAlias}/package/-/cran/src/contrib/{filename}', repo=NULL, type="source")
Бинарные файлы
install.packages('https://{username}:{транспортный токен}@{домен gitflic}/project/{ownerAlias}/{projectAlias}/package/-/cran/bin/{platform}/{architecture}/contrib/{rversion}/{fileName}', repo=NULL, type="source")
Загрузка для уровня компании
Исходные файлы
install.packages('https://{username}:{транспортный токен}@{домен gitflic}/company/{companyAlias}/package/-/cran/src/contrib/{fileName}', repo=NULL, type="source")
Бинарные файлы
install.packages('https://{username}:{транспортный токен}@{домен gitflic}/company/{companyAlias}/package/-/cran/bin/{platform}/{architecture}/contrib/{rversion}/{fileName}', repo=NULL, type="source")
Загрузка для всего сервиса
Исходные файлы
install.packages('https://{username}:{транспортный токен}@{домен gitflic}/registry/package/-/cran/src/contrib/{fileName}', repo=NULL, type="source")
Бинарные файлы
install.packages('https://{username}:{транспортный токен}@{домен gitflic}/registry/package/-/cran/bin/{platform}/{architecture}/contrib/{rversion}/{fileName}', repo=NULL, type="source")
Переменная в URL | Описание |
---|---|
username |
Имя пользователя |
транспортный токен |
Транспортный токен пользователя |
ownerAlias |
Псевдоним владельца проекта |
projectAlias |
Псевдоним проекта |
companyAlias |
Псевдоним компании |
fileName |
Имя пакета с расширением |
platform |
Платформа, для которой создан пакет. Может принимать следующие значения: macosx , windows |
architecture |
Архитектура платформы |
rversion |
Версия языка программирования R |