Error in installation a R package

Error in installation a R package

There could be a few things happening here. Start by first figuring out your library location:

Sys.getenv(R_LIBS_USER)

or

.libPaths()

We already know yours from the info you gave: C:Program FilesRR-3.0.1library

I believe you have a file in there called: 00LOCK. From ?install.packages:

Note that it is possible for the package installation to fail so badly that the lock directory is not removed: this inhibits any further installs to the library directory (or for –pkglock, of the package) until the lock directory is removed manually.

You need to delete that file. If you had the pacman package installed you could have simply used p_unlock() and the 00LOCK file is removed. You cant install pacman now until the 00LOCK file is removed.

To install pacman use:

install.packages(pacman)

There may be a second issue. This is where you somehow corrupted MASS. This can occur, in my experience, if you try to update a package while it is in use in another R session. Im sure theres other ways to cause this as well. To solve this problem try:

  1. Close out of all R sessions (use task manager to ensure youre truly R session free) Ctrl + Alt + Delete
  2. Go to your library location Sys.getenv(R_LIBS_USER). In your case this is: C:Program FilesRR-3.0.1library
  3. Manually delete the MASS package
  4. Fire up a vanilla session of R
  5. Install MASS via install.packages(MASS)

If any of this works please let me know what worked.

I had the same problem with e1071 package. Just close any other R sessions running parallelly and you will be good to go.

Error in installation a R package

The solution indicated by Guannan Shen has one drawback that usually goes unnoticed.

When you run sudo R in order to run install.packages() as superuser, the directories in which you install the library end up belonging to root user, a.k.a., the superuser.

So, next time you need to update your libraries, you will not remember that you ran sudo, therefore leaving root as the owner of the files and directories; that eventually causes the error when trying to move files, because no one can overwrite root but themself.

That can be averted by running

sudo chown -R yourusername:yourusername *

in the directory lib that contains your local libraries, replacing yourusername by the adequated value in your installation. Then you try installing once again.

Leave a Reply

Your email address will not be published.