我有一个Rstudio项目,我一直在努力。自从我上次将Rstudio更新为1.0.143 - Mac OS X 10.6+(64位)后,该项目无法启动。 我认为它可能与一个在启动时自动加载的软件包相关联,无论出于何种原因还没有决定停止使用R / Rstudio。 XLConnect ...
我尝试从目录中删除.RData,.Rhistory和.Rproj.user。只删除.RData工作,Rstudio启动没有问题。我似乎在目录,我的主目录或站点范围的文件中没有任何.RProfile文件。
现在我甚至无法打开Rstudio会话,因为它崩溃并出现错误
R encountered a fatal error. The session was terminated.
我可以毫无问题地打开其他Rstudio会话。
当我打开一个单独的R会话(没有R工作室)并尝试
时load('path/to/.RData')
我收到以下错误消息:
*抓住了段错* 地址0x18,导致'内存未映射'
回溯: 1:dyn.load(文件,DLLpath = DLLpath,...)
2:library.dynam(lib,package,package.lib)
3:loadNamespace(j< - i [[1L]],c(lib.loc,.libPaths()),versionCheck = vI [[j]])
4:asNamespace(ns)
5:namespaceImportFrom(ns,loadNamespace(j< - i [[1L]],c(lib.loc,.libPaths()),versionCheck = vI [[j]]),i [[2L]] ,from = package)
6:loadNamespace(name)
7:doTryCatch(return(expr),name,parentenv,handler)
8:tryCatchOne(expr,names,parentenv,handlers [[1L]])
9:tryCatchList(expr,classes,parentenv,handlers)
10:tryCatch(loadNamespace(name),error = function(e){warning(gettextf(“namespace%s不可用且已经
在处理对象%s“,sQuote(名称)[1L],sQuote(where)),domain = NA,call。=&gt; FALSE,immediate。= TRUE).GlobalEnv})<时替换\ n。。GlobalEnv / p>
11:.. getNamespace(c(“openxlsx”,“4.0.17”),“uwc.sel.book”)
12:加载(“./ Dropbox / OxfordTT2017 / DNAextraction_26052017 / ColWork2017 / Fielddata_04052016 / .RData”)
可能的行动:
1:abort(使用核心转储,如果启用)
2:正常退出
3:退出R而不保存工作区
4:退出R保存工作区
所以我正在寻找一种方法来阻止Rstudio会话在启动时加载包(我不知道它为什么会这样做,因为我不记得设置任何类型的RProfile ..) 。
答案 0 :(得分:4)
似乎你在以前的RStudio seeion中创建了一些对象,他们需要某些包。关闭RStudio时,您的工作区已保存在.RData
文件中。然后,如果再次启动该项目,RStudio将尝试恢复最后一个工作区,但这些对象需要某些包才能工作。所以你看到RStudio在启动时加载了这些包。
例如,创建一个新的RStudio项目。
install.packages('phylobase')
library(phylobase)
mytree <- phylo4(x=matrix(data=c(4,1, 4,5, 5,2, 5,3, 0,4), ncol=2, byrow=TRUE), tip.label=c("speciesA", "speciesB", "speciesC"))
关闭该项目并重新打开它(确保保存工作区)。
R version 3.4.1 (2017-06-30) -- "Single Candle"
...
Type 'q()' to quit R.
[Workspace loaded from W:/work/Git/bookdown-minimal/.RData]
Loading required package: phylobase
> search()
[1] ".GlobalEnv" "package:phylobase" "tools:rstudio" "package:stats" "package:graphics"
[6] "package:grDevices" "package:utils" "package:datasets" "package:methods" "Autoloads"
[11] "package:base"
mytree
是一个S4类对象,您可以看到 phylobase 会自动加载。您可以参考S4课程的文档。
.RData
文件。Tools
- &gt;停止RStudio在启动时加载软件包Global Options...
取消选中Resotore .RData into workspace at startup
。除非您执行1. .RData
文件中的对象
醇>
答案 1 :(得分:2)
所以这就是我为解决问题所做的工作:
以下所有内容都位于包含*.RProj
文件的目录中。
首先,我通过在终端中运行它来“隐藏”.RData文件。
mv .RData ./.RData_old
接下来,我在R会话(不是Rstudio)中运行它:
remove.packages('XLConnect', 'XLConnectJars')
然后我关闭了R会话并打开了Rstudio项目,以确保它在没有RData文件的情况下打开。
之后我收回了我的RData文件
mv .RData_old ./.RData
最后我再次打开了项目文件,然后!
它抱怨没有安装包但至少我知道需要哪些包。而且,我的数据和结果不会丢失。