"Error in library(rjson): There is no package called rjson"

"Error in library(rjson): There is no package called rjson"

我的 rjson 包随机不起作用。就像,它有时工作正常,有时无法加载。不知道为什么。

我收到这个错误。

     Error in library("rjson") : there is no package called ‘rjson’

为了尝试缓解这个问题,尽管知道它已安装,我还是在我的脚本中添加了一个安装行。

   install.packages("rjson", repos="http://cran.rstudio.com/")
   library(rjson)

现在我明白了......

正在将软件包安装到“C:/Users/Tom/Documents/R/win-library/2.15” (因为“lib”未指定) 尝试 URL 'http://cran.rstudio.com/bin/windows/contrib/2.15/rjson_0.2.13.zip' 内容类型 'application/zip' 长度 491848 字节 (480 Kb) 打开 URL 下载 480 Kb

包“rjson”成功解压并检查了 MD5 和 警告:无法删除先前安装的软件包“rjson”

下载的二进制包在 C:\Users\Tom\AppData\Local\Temp\RtmpiOfTqK\downloaded_packages

在 R 中,当我出于某种原因转到 "Packages --> Load" 时,rjson 不存在。它从来没有,即使它起作用了。

我已经导航到...

C:\Users\Tom\Documents\R\win-library.15

我可以确认 rjson 的文件夹在那里。

不知道该怎么做。

这在我身上发生过很多次。它通常发生在您尝试安装已安装软件包的更新版本时(尽管它可能发生在其他更罕见的情况下)。

到目前为止我找到的解决方案是返回到您的库路径,即您机器上安装软件包的位置(C:\Users\user_name\Documents\R\win-library\R_version 是 Windows 上的默认路径)删除相应的包文件夹,然后像往常一样重新安装包:

install.packages('rjson')

这样应该可以。

或者您甚至可以按照@Thomas 的评论以编程方式进行:

#get list of installed packages
inst_packages <-  installed.packages()

if ("rjson" %in% inst_packages[, 1]) { 
     #uninstalls package
     remove.packages("rjson")
     #re-installs package
     install.packages("rjson") 
} 

或者更好的只是使用:

if ("rjson" %in% inst_packages[, 1]) update.packages("rjson")