Luego de consultar especialistas en la materia, programadores de diversas áreas y profesores hemos dado con la solución al dilema y la dejamos plasmada en este post.
Solución:
Podrían estar pasando algunas cosas aquí. Comience primero averiguando la ubicación de su biblioteca:
Sys.getenv("R_LIBS_USER")
o
.libPaths()
Ya conocemos el tuyo por la información que diste: C:Archivos de programaRR-3.0.1biblioteca
Creo que tienes un archivo allí llamado: 00LOCK
. Desde ?install.packages
:
Tenga en cuenta que es posible que la instalación del paquete falle tanto que el directorio de bloqueo no se elimine: esto inhibe cualquier instalación adicional en el directorio de la biblioteca (o para –pkglock, del paquete) hasta que el directorio de bloqueo se elimine manualmente.
Tienes que borrar ese archivo. si tuviste la pacman
paquete instalado que simplemente podría haber usado p_unlock()
y el 00LOCK
se elimina el archivo. no puedes instalar pacman
ahora hasta el 00LOCK
se elimina el archivo.
Instalar pacman
usar:
install.packages("pacman")
Puede haber un segundo problema. Aquí es donde de alguna manera corrompiste MASS
. Esto puede ocurrir, según mi experiencia, si intenta actualizar un paquete mientras está en uso en otra sesión de R. Estoy seguro de que hay otras formas de causar esto también. Para resolver este problema intente:
- Cierra todas las sesiones de R (usa el administrador de tareas para asegurarte de que realmente estás libre de sesiones de R) Control + alternativa + Borrar
- Ve a la ubicación de tu biblioteca
Sys.getenv("R_LIBS_USER")
. En tu caso esto es: C:Archivos de programaRR-3.0.1biblioteca - Eliminar manualmente el
MASS
paquete - Enciende una sesión vainilla de R
- Instalar
MASS
a través deinstall.packages("MASS")
Si algo de esto funciona, por favor hágamelo saber lo que funcionó.
Tuve el mismo problema con el paquete e1071. Simplemente cierre cualquier otra sesión de R que se ejecute en paralelo y estará listo para comenzar.
La solución indicada por Guannan Shen tiene un inconveniente que suele pasar desapercibido.
cuando corres sudo R
para correr install.packages()
como superusuario, los directorios en los que instalas la librería acaban perteneciendo a root
usuario, también conocido como superusuario.
Entonces, la próxima vez que necesite actualizar sus bibliotecas, no recordará que ejecutó sudo
por lo tanto dejando root
como titular de los archivos y directorios; que eventualmente causa el error al intentar mover archivos, porque nadie puede sobrescribir root
pero ellos mismos.
Eso se puede evitar ejecutando
sudo chown -R yourusername:yourusername *
en el directorio lib
que contiene sus bibliotecas locales, reemplazando yourusername
por el valor adecuado en su instalación. Luego intenta instalar una vez más.
Finalizando este artículo puedes encontrar las acotaciones de otros usuarios, tú incluso puedes dejar el tuyo si dominas el tema.