2017-09-19 12 views
1

Rでパッケージをインポートしようとするたびに、クラッシュしてしまいます。私は、このような私の端末でlibrary(broom)としてコマンドを実行した場合、説明するために、次のエラーが生じている:特定のパッケージをインポートしようとするとRがクラッシュするのはなぜですか?

*** caught segfault *** 
address 0x18, cause 'memory not mapped' 

Traceback: 
1: dyn.load(file, DLLpath = DLLpath, ...) 
2: library.dynam(lib, package, package.lib) 
3: loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) 
4: namespaceImport(ns, loadNamespace(i, c(lib.loc, .libPaths()),  versionCheck = vI[[i]]), from = package) 
5: loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) 
6: namespaceImport(ns, loadNamespace(i, c(lib.loc, .libPaths()),  versionCheck = vI[[i]]), from = package) 
7: loadNamespace(package, lib.loc) 
8: doTryCatch(return(expr), name, parentenv, handler) 
9: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 
10: tryCatchList(expr, classes, parentenv, handlers) 
11: tryCatch({ attr(package, "LibPath") <- which.lib.loc ns <- loadNamespace(package, lib.loc) env <- attachNamespace(ns, pos = pos, deps)}, error = function(e) { P <- if (!is.null(cc <- conditionCall(e)))   paste(" in", deparse(cc)[1L]) else "" msg <- gettextf("package or namespace load failed for %s%s:\n %s",   sQuote(package), P, conditionMessage(e)) if (logical.return)   message(paste("Error:", msg), domain = NA) else stop(msg, call. = FALSE, domain = NA)}) 
12: library(broom) 

Possible actions: 
1: abort (with core dump, if enabled) 
2: normal R exit 
3: exit R without saving workspace 
4: exit R saving workspace 

このエラーは、私の端末でクラッシュ私のRが続いています。さらに、この結果はRStudio内で複製され、パッケージをインポートしようとするとプログラム全体を再オープンする必要があります。興味深いことに、すべてのパッケージが同じように動作するわけではありません。 library(stats)library(base)などの基本パッケージをインポートすると問題なく動作します。

私は、R、Rstudio、および関連するRパッケージをコンピュータからアンインストールしてから、(https://support.rstudio.com/hc/en-us/community/posts/115007714568-Latest-version-of-Rstudio-rmarkdown-causing-abort-on-R-version-3-4-0-for-x86-64-apple-darwin15-6-0-64-bit-)再インストールしようとしましたが、成功しませんでした。これは私のPATH変数の設定に関係する問題ですか?

私はMac OSX-10.12 Sierra上でR-3.4を実行しています。

UPDATE

、これは重要なことではないかもしれませんが、私は見て回るとRでデータフレーム(ip<-as.data.frame(installed.packages()))でそれらのすべてを置くことによって、私のパッケージがインストールされた場所を確認することを決めた、と私は気づい私のパッケージは、/Users/bob/Library/R/3.4/libraryまたは/Library/Frameworks/R.framework/Versions/3.4/Resources/libraryの2つの異なるファイルパスに格納されています。誰もこの矛盾が私のRがいつもクラッシュする原因だと思いますか?

+0

関連性があります:https://github.com/tidyverse/dplyr/issues/322 –

+0

@EricWatt悲しいことに、そのスレッドで提供されているアプローチはどれも影響を与えていません。私はMakevarsファイルを.Rフォルダーで編集しようとしましたが、 'devtools :: install_github(" caret "、build_vignettes = FALSE)'を実行しようとしましたが、Rはほとんど瞬間的にクラッシュしました。 –

答えて

0

2つの異なるライブラリにダウンロードしたパッケージをインストールしたことを知り(上記の「アップデート」の項を参照)、インストールしたすべてのパッケージを削除することにしました。私のガイドとして、このソース(https://www.r-bloggers.com/how-to-remove-all-user-installed-packages-in-r/)を使用して、私は、次のコマンドを行わ:

ip <- as.data.frame(installed.packages()) 
ip <- ip[!(ip[,"Priority"] %in% c("base", "recommended")),] 
ip <- subset(ip, !grepl("MRO", ip$LibPath)) 
path.lib <- unique(ip$LibPath) 
pkgs.to.remove <- ip[,1] 
sapply(pkgs.to.remove, remove.packages, lib = path.lib) 

はさらに、私はまた、フォルダUsers/bob/Library/R/3.4/libraryに残っているパッケージを削除し、その後、私は、既定のライブラリとして一つだけの私のライブラリを設定しますインストールされたパッケージをダウンロードした場所:

.libPaths("/Library/Frameworks/R.framework/Versions/3.4/Resources/library") 

そして.libPaths()走り、再びこのファイルのパスが印刷されてしまったその第一号だったことを確認します。私が望んだパッケージのどれかでinstall.packages("NameOfDesiredPackage")を実行しました。コンソールや端末にインポートしたときに問題なくインポートされました。

関連する問題