Пакет R: автор указан в руководстве

Я создаю базовый пакет с помощью инструментов разработчика (представьте себе пакет, содержащий только функцию Hello World).

Мой файл ОПИСАНИЯ просто:

Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors@R: 
    person("Jon", "Snow", , "[email protected]", role = c("aut", "cre"),
           comment = c(ORCID = "YOUR-ORCID-ID"))
Description: What the package does (one paragraph).
License: `use_mit_license()`, `use_gpl3_license()` or friends to pick a
    license
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.2

и я создаю его, запуская последовательно:
devtools::build(); devtools::install(); devtools::build_manual()

Все работает, но в инструкции никогда не печатается "автор", и я не знаю, как заставить это работать. Компилируется без ошибок... Я пробовал предыдущий тред, но он не работает.

Вы специально подписались на этот ответ на ветку, на которую вы дали ссылку? Можно поконкретнее, что "не работает"? Как вы просматриваете руководство (например, на панели справки RStudio, в виде отдельного PDF-файла...)?

Ben Bolker 20.07.2024 15:05

Да, я выполнил именно то, что было сказано, к сожалению, это ничего не изменило. Я пробовал несколько раз с некоторыми настройками, пока ничего не получается. Моя посылка почти готова, это единственное, чего не хватает, и я не могу разобраться. Я просматриваю руководство, открыв отдельный PDF-файл, могу ли я там что-то изменить?

G. Ander 20.07.2024 15:11
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
67
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я просто попробовал совет, который дал изначально, и он не сработал. Вот модификация.

Во-первых, вот что произошло с вашим кодом:

devtools::build() создает файл .tar.gz для вашего пакета. Он добавляет поле «Автор» и некоторые другие в файл DESCRIPTION.

devtools::install() здесь особо не задействован.

devtools::build_manual() игнорирует файл .tar.gz и создает руководство, используя исходный каталог.

Вот способ исправить это:

devtools::install()
devtools::build_manual(system.file(package = "yourpackage"),
                       path = ".")

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

Это сработало для меня.

ОК, choose.dir() ?

Ben Bolker 20.07.2024 18:13

@BenBolker: Это сработало бы, если бы вы выбрали каталог, в котором был распакован архив, но мой исходный код его не распаковал. Использование каталога установки кажется самым простым, что и делает текущий код.

user2554330 20.07.2024 18:32

Хорошо, это работает и для меня! Спасибо :) Приятно осознавать, что другой ваш ответ тоже не сработал, и это не моя вина :)

G. Ander 20.07.2024 18:42

Другой ответ заключается в том, что в вашем файле DESCRIPTION указана неверная запись об авторах. Просто замените «Authors@R» на «Авторы», и все должно работать нормально.

Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors: 
    person("Jon", "Snow", , "[email protected]", role = c("aut", "cre"),
           comment = c(ORCID = "YOUR-ORCID-ID"))
Description: What the package does (one paragraph).
License: `use_mit_license()`, `use_gpl3_license()` or friends to pick a
    license
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.2

В руководстве по написанию расширений R нет поля «Авторы», есть только «Автор» и «Authors@R».

user2554330 20.07.2024 16:23

На самом деле это тоже работает (хотя я думал, что «Автор» обесценился). Вам просто нужно написать это с «Автором», а не с Автором.

G. Ander 20.07.2024 18:42

Для меня стало сюрпризом, что вы можете использовать формат ввода Authors@R в поле Author, но это работает. Но если вы посмотрите на packageDescription("pkg") после установки, вы увидите, что что-то в коде сборки или установки отредактировало поле, поэтому оно записано как Authors@R, как и должно быть в WRE.

user2554330 21.07.2024 02:04

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

JokerAG 21.07.2024 22:42

Другие вопросы по теме