【问题标题】:Error in installation a R package安装 R 包时出错
【发布时间】:2014-10-26 07:48:19
【问题描述】:

请帮帮我,我无法安装“MASS”包。

> library(MASS)
Error in library(MASS) : there is no package called ‘MASS’

我尝试从本地安装 MASS 包:

> utils:::menuInstallLocal()  
package ‘MASS’ successfully unpacked and MD5 sums checked  
Warning: cannot remove prior installation of package ‘MASS’

即使我无法删除“MASS”:

> remove.packages("MASS")  
Removing package from ‘C:/Program Files/R/R-3.0.1/library’  
(as ‘lib’ is unspecified)  
Error in find.package(pkgs, lib) : there is no package called ‘MASS’

使用这个选项我也无法安装包:

> options(install.lock=T)  
> utils:::menuInstallLocal()  
package ‘MASS’ successfully unpacked and MD5 sums checked  
Warning: cannot remove prior installation of package ‘MASS’  
Warning: restored ‘MASS’  
Warning message:  
In file.copy(savedcopy, lib, recursive = TRUE) :  
  problem copying C:\Program Files\R\R-3.0.1\library\00LOCK\MASS\libs\x64\MASS.dll to C:\Program Files\R\R-3.0.1\library\MASS\libs\x64\MASS.dll: Permission 

还有 install.packages:

> install.packages("C:\\MASS_7.3-35.zip",repos=NULL)
package ‘MASS’ successfully unpacked and MD5 sums checked  
Warning: cannot remove prior installation of package ‘MASS’  
Warning: restored ‘MASS’  
Warning message:  
In file.copy(savedcopy, lib, recursive = TRUE) :  
  problem copying C:\Program Files\R\R-3.0.1\library\00LOCK\MASS\libs\x64\MASS.dll to C:\Program Files\R\R-3.0.1\library\MASS\libs\x64\MASS.dll: Permission 

我应该提到我将 R 与 ORE(Oracle R Enterprise)一起使用。

【问题讨论】:

  • 你为什么不使用通常的方式,即install.packages("MASS", dependencies=TRUE)
  • 我没有上网,我们的服务器与Internet网络是分开的。
  • 你应该更喜欢install.packages("dir/package_name", repos = NULL),其中dir/是你下载zip文件package_name的目录。
  • 你能以管理员身份运行 R 吗?
  • 是的,我可以使用管理员用户。

标签: r installation package


【解决方案1】:

这里可能会发生一些事情。首先确定您的图书馆位置:

Sys.getenv("R_LIBS_USER")

.libPaths()

我们已经从您提供的信息中知道了您的信息:C:\Program Files\R\R-3.0.1\library

我相信你有一个名为:00LOCK 的文件。来自?install.packages

请注意,软件包安装可能会失败,以至于锁定目录没有被删除:这会阻止任何进一步安装到库目录(或包的 --pkglock),直到锁定目录被删除手动。

您需要删除该文件。如果您安装了pacman 软件包,您可以简单地使用p_unlock() 并删除00LOCK 文件。在删除 00LOCK 文件之前,您现在无法安装 pacman

要安装pacman,请使用:

install.packages("pacman")

可能还有第二个问题。这就是您以某种方式损坏MASS 的地方。根据我的经验,如果您在另一个 R 会话中使用它时尝试更新一个包,就会发生这种情况。我敢肯定还有其他方法会导致这种情况。要解决此问题,请尝试:

  1. 关闭所有 R 会话(使用任务管理器确保您真正没有 R 会话)Ctrl + Alt + 删除
  2. 转到您的图书馆位置Sys.getenv("R_LIBS_USER")。在您的情况下,这是:C:\Program Files\R\R-3.0.1\library
  3. 手动删除MASS
  4. 启动 R 的香草会话
  5. 通过install.packages("MASS")安装MASS

如果其中任何一个有效,请告诉我什么有效。

【讨论】:

  • 如果这有帮助,您能说一下对未来的搜索者有什么帮助吗?
  • 对我有用的部分是退出 RStudio,从 libs 目录中删除软件包并从 vanilla R 重新安装。感谢您的帮助。
  • 为什么我的 cp 上没有 Sys.getenv("R_LIBS_USER") 所说的这样的目录?
  • 检查系统任务管理器部分是否为我工作。幸运的是不必进入第二期。
  • 步骤 1. 关闭所有会话。这是我第 100 次。感谢并预先感谢下次。
【解决方案2】:

我在使用 e1071 包时遇到了同样的问题。只需关闭任何其他并行运行的 R 会话即可。

【讨论】:

  • 对我来说也一样 - 多个 R 会话
  • 这行得通。多个 R 会话确实会导致问题。我在另一个 R 会话上运行 for 循环并尝试在另一个 R 会话上安装包,这个错误一直持续到我关闭会话
  • 对我来说也一样:我关闭了第二个 R 会话,安装效果很好
  • 就我而言,我不得不停止正在运行的 Shiny 服务器。
  • 还有 Julia 会话(如果您使用了 RCall
【解决方案3】:

就我而言,nlme 包的安装有问题:

mv: cannot move '/home/guanshim/R/x86_64-pc-linux-gnu-library/3.4/nlme' 
to '/home/guanshim/R/x86_64-pc-linux-gnu-library/3.4/00LOCK-nlme/nlme': 
Permission denied

使用Ubuntu 18.04CTRL+ALT+T打开终端窗口:

sudo R
install.packages('nlme')
q()

【讨论】:

    【解决方案4】:

    solution indicated by Guannan Shen 有一个通常被忽视的缺点。

    当您以超级用户身份运行sudo R 以运行install.packages() 时,安装库的目录最终属于root 用户,也就是超级用户。

    所以,下次你需要更新你的库时,你不会记得你运行了sudo,因此留下root作为文件和目录的所有者;这最终会在尝试移动文件时导致错误,因为除了他们自己之外没有人可以覆盖root

    这可以通过运行来避免

    sudo chown -R yourusername:yourusername *
    

    在包含本地库的目录lib 中,将yourusername 替换为安装中的适当值。然后您尝试再次安装。

    【讨论】:

      【解决方案5】:

      install.packages() 中使用错误的引号字符后,更正引号会产生“无法删除之前的安装”错误。关闭并重新启动 R 工作。

      【讨论】:

        【解决方案6】:

        就我而言,我不得不关闭 R 会话并重新安装所有软件包。在那次会议中,我使用大型表,我怀疑这可能会产生影响。

        【讨论】:

          【解决方案7】:

          我只是想添加我自己对这个错误的经验。

          我最近按照建议在 RGui 中使用 installR 更新了 R,但在安装过程中,GUI 冻结了。

          当我下次启动 RStudio 完成一些工作时,我的大部分包都需要手动删除并重新安装。似乎他们没有被搬走。

          希望这对将来的人有所帮助。

          【讨论】:

            猜你喜欢
            • 2014-12-02
            • 2021-07-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多