[R-es] Evitar posibles conflictos entre librerías

Guiiiermo@Vi@ue m@iii@g oii uv@es Guiiiermo@Vi@ue m@iii@g oii uv@es
Lun Jul 20 10:38:10 CEST 2020


Buenos días,

Tengo el siguiente problema que no consigo solucionar y quisiera preguntar si alguien tiene alguna recomendación:

Estoy desarollando una shiny app en la que utilizo el paquete shinymanager para que el usuario acceda a ella mediante una contraseña.

Esta app utiliza, entre otros, el paquete tidytext, que tiene en la lista de Suggests el paquete quanteda.
https://cran.r-project.org/web/packages/tidytext/

Cuando ejecuto esta app en mi ordenador local funciona bien, es decir, puedo hacer el login sin problema. Sin embargo, cuando subo esta app a un servidor personal, me da este error (tanto en local como en el servidor tengo las mismas versiones de los paquetes):

Error in unclass: cannot unclass an environment
  58: upgrade_tokens
  57: as.tokens.tokens
  55: docvars.tokens
  52: $.tokens
  50: secure_server

secure_server es una función de shinymanager y he visto que upgrade_tokens es una función de quanteda. He podido descubrir que shinymanager define una clase interna que se llama .tokens <- R6::R6Class(...), mientras que quanteda tiene una función que se llama tokens <- function(...)

Entiendo que hay un conflicto entre shinymanager y quanteda (aunque quanteda no es un paquete que se cargue con Imports), pero no he podido lograr resolverlo. Tampoco he podido averiguar qué significa "cannot unclass an environment".

¿Alguien conoce una posible solución?

Gracias de antemano.

Un saludo,

Guillermo



Más información sobre la lista de distribución R-help-es