Как вернуться к более ранней версии пакета?

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

Error: package 'rrdflibs' 1.1.2 was found, but == 1.1.0 is required by 'rrdf'

Не знаю, почему они не пишут его как >= 1.1.0. Это то, что они сделали хорошую практику программирования?

Ответ 1

Перейдите в http://cran.r-project.org/src/contrib/Archive/rrdflibs/, чтобы получить более старую версию. Это исходный архив, поэтому вам нужно будет строить из исходного кода (как правило, легко на Linux, довольно легко на MacOS и сильно на Windows, вы можете использовать http://win-builder.r-project.org/ для создания двоичного файла Windows, если это необходимо).

На самом деле, основываясь на быстром просмотре пакета, я думаю, вы должны быть в состоянии установить в этом случае (даже на Windows без Rtools) через

download.file("http://cran.r-project.org/src/contrib/Archive/rrdflibs/rrdflibs_1.1.0.tar.gz",
   dest="rrfdlibs_1.1.0.tar.gz")
install.packages("rrfdlibs_1.1.0.tar.gz",repos=NULL,type="source")

потому что пакет фактически не содержит ничего, что необходимо скомпилировать.

Не знаю о практике программирования, вам придется спросить авторов, есть ли у них какая-то особая причина сделать это именно так. (См. maintainer("rrdf").) Возможно, они знали, что версии не будут совместимы с обратным/прямым доступом?