2012-10-12 53 views
8

Tôi đang thiết lập một máy tính xách tay mới chạy Gentoo và muốn cài đặt R (như tôi thực hiện trên tất cả các máy tính của mình!).Sự cố khi cài đặt các gói R

Tuy nhiên, tôi đã gặp phải một chút vấn đề khi cài đặt gói.

đầu tiên tôi đã cố gắng để:

> install.packages(c("ggplot2", "plyr", "reshape2")) 

Và nó hợp lệ tải về tất cả các gói và phụ thuộc của nó. Tuy nhiên, họ không cài đặt báo cáo.

Error in library(data.table) : there is no package called ‘data.table’ 
Calls: .First -> library 
Execution halted 
Error in library(data.table) : there is no package called ‘data.table’ 
Calls: .First -> library 
Execution halted 
Error in library(data.table) : there is no package called ‘data.table’ 
Calls: .First -> library 
Execution halted 
Error in library(data.table) : there is no package called ‘data.table’ 
Calls: .First -> library 
Execution halted 
Error in library(data.table) : there is no package called ‘data.table’ 
Calls: .First -> library 
Execution halted 
Error in library(data.table) : there is no package called ‘data.table’ 
Calls: .First -> library 
Execution halted 
Error in library(data.table) : there is no package called ‘data.table’ 
Calls: .First -> library 
Execution halted 
Error in library(data.table) : there is no package called ‘data.table’ 
Calls: .First -> library 

Không phải là một vấn đề, tôi sẽ chỉ cần cài đặt gói data.table, không may ...

> install.packages("data.table") 
trying URL 'http://cran.uk.r-project.org/src/contrib/data.table_1.8.2.tar.gz' 
Content type 'application/x-gzip' length 818198 bytes (799 Kb) 
opened URL 
================================================== 
downloaded 799 Kb 

Error in library(data.table) : there is no package called ‘data.table’ 
Calls: .First -> library 
Execution halted 

The downloaded source packages are in 
    ‘/tmp/RtmpbQtALj/downloaded_packages’ 
Updating HTML index of packages in '.Library' 
Making packages.html ... done 
Warning message: 
In install.packages("data.table") : 
    installation of package ‘data.table’ had non-zero exit status 

Và không có dấu hiệu cho thấy lý do tại sao cài đặt bị lỗi gì cả, vì vậy tôi đã không có ý kiến làm thế nào để đi về giải quyết này? Một traceback() không có sẵn.

GCC được cài đặt và định cấu hình làm đầu ra của các chương trình gcc-config (và thực tế là tôi có thể cài đặt phần mềm khác từ nguồn không có vấn đề).

# gcc-config -l 
[1] x86_64-pc-linux-gnu-4.6.3 * 

Nói chung về cách giải quyết vấn đề này. Bất kỳ suy nghĩ hoặc ý tưởng nào về cách nhận thêm thông tin từ số điện thoại của install.packages().

EDIT: nội dung của .First theo yêu cầu ....

> .First 
function() 
{ 
    library(data.table) 
    library(foreign) 
    library(ggplot2) 
    library(Hmisc) 
    library(lattice) 
    library(plyr) 
    library(rms) 
    library(xtable) 
    cat("\nWelcome at", date(), "\n") 
} 

EDIT 2: Không Rprofile.site nhưng có được/usr/lib64/R/thư viện/cơ sở/R/Rprofile mà có. ...

# cat /usr/lib64/R/library/base/R/Rprofile 
### This is the system Rprofile file. It is always run on startup. 
### Additional commands can be placed in site or user Rprofile files 
### (see ?Rprofile). 

### Notice that it is a bad idea to use this file as a template for 
### personal startup files, since things will be executed twice and in 
### the wrong environment (user profiles are run in .GlobalEnv). 

.GlobalEnv <- globalenv() 
attach(NULL, name = "Autoloads") 
.AutoloadEnv <- as.environment(2) 
assign(".Autoloaded", NULL, envir = .AutoloadEnv) 
T <- TRUE 
F <- FALSE 
R.version <- structure(R.Version(), class = "simple.list") 
version <- R.version   # for S compatibility 

## for backwards compatibility only 
R.version.string <- R.version$version.string 

## NOTA BENE: options() for non-base package functionality are in places like 
##   --------- ../utils/R/zzz.R 

options(keep.source = interactive()) 
options(warn = 0) 
# options(repos = c(CRAN="@[email protected]")) 
# options(BIOC = "http://www.bioconductor.org") 

options(timeout = 60) 
options(encoding = "native.enc") 
options(show.error.messages = TRUE) 
## keep in sync with PrintDefaults() in ../../main/print.c : 
options(scipen = 0) 
options(max.print = 99999)# max. #{entries} in internal printMatrix() 
options(add.smooth = TRUE)# currently only used in 'plot.lm' 
options(stringsAsFactors = TRUE) 
if(!interactive() && is.null(getOption("showErrorCalls"))) 
    options(showErrorCalls = TRUE) 

local({dp <- Sys.getenv("R_DEFAULT_PACKAGES") 
     if(identical(dp, "")) # marginally faster to do methods last 
      dp <- c("datasets", "utils", "grDevices", "graphics", 
        "stats", "methods") 
     else if(identical(dp, "NULL")) dp <- character(0) 
     else dp <- strsplit(dp, ",")[[1]] 
     dp <- sub("[[:blank:]]*([[:alnum:]]+)", "\\1", dp) # strip whitespace 
     options(defaultPackages = dp) 
    }) 

## Expand R_LIBS_* environment variables. 
Sys.setenv(R_LIBS_SITE = 
      .expand_R_libs_env_var(Sys.getenv("R_LIBS_SITE"))) 
Sys.setenv(R_LIBS_USER = 
      .expand_R_libs_env_var(Sys.getenv("R_LIBS_USER"))) 

.First.sys <- function() 
{ 
    for(pkg in getOption("defaultPackages")) { 
     res <- require(pkg, quietly = TRUE, warn.conflicts = FALSE, 
         character.only = TRUE) 
     if(!res) 
      warning(gettextf('package %s in options("defaultPackages") was not found',  sQuote(pkg)), 
        call.=FALSE, domain = NA) 
    } 
} 

.OptRequireMethods <- function() 
{ 
     if("methods" %in% getOption("defaultPackages")) { 
     res <- require("methods", quietly = TRUE, warn.conflicts = FALSE, 
         character.only = TRUE) 
     if(!res) 
      warning('package "methods" in options("defaultPackages") was not found', call.=FALSE) 
    } 
} 

if(nzchar(Sys.getenv("R_BATCH"))) { 
    .Last.sys <- function() 
    { 
     cat("> proc.time()\n") 
     print(proc.time()) 
    } 
    ## avoid passing on to spawned R processes 
    ## A system has been reported without Sys.unsetenv, so try this 
    try(Sys.setenv(R_BATCH="")) 
} 
###-*- R -*- Unix Specific ---- 

.Library <- file.path(R.home(), "library") 
.Library.site <- Sys.getenv("R_LIBS_SITE") 
.Library.site <- if(!nchar(.Library.site)) file.path(R.home(), "site-library") else unlist(strsplit(.Library.site, ":")) 
.Library.site <- .Library.site[file.exists(.Library.site)] 

invisible(.libPaths(c(unlist(strsplit(Sys.getenv("R_LIBS"), ":")), 
         unlist(strsplit(Sys.getenv("R_LIBS_USER"), ":") 
        )))) 

local({ 
## we distinguish between R_PAPERSIZE as set by the user and by configure 
papersize <- Sys.getenv("R_PAPERSIZE_USER") 
if(!nchar(papersize)) { 
    lcpaper <- Sys.getlocale("LC_PAPER") # might be null: OK as nchar is 0 
    papersize <- if(nchar(lcpaper)) 
     if(length(grep("(_US|_CA)", lcpaper))) "letter" else "a4" 
    else Sys.getenv("R_PAPERSIZE") 
} 
options(papersize = papersize, 
     printcmd = Sys.getenv("R_PRINTCMD"), 
     dvipscmd = Sys.getenv("DVIPS", "dvips"), 
     texi2dvi = Sys.getenv("R_TEXI2DVICMD"), 
     browser = Sys.getenv("R_BROWSER"), 
     pager = file.path(R.home(), "bin", "pager"), 
     pdfviewer = Sys.getenv("R_PDFVIEWER"), 
     useFancyQuotes = TRUE) 
}) 

## non standard settings for the R.app GUI of the Mac OS X port 
if(.Platform$GUI == "AQUA") { 
    ## this is set to let RAqua use both X11 device and X11/TclTk 
    if (Sys.getenv("DISPLAY") == "") 
    Sys.setenv("DISPLAY" = ":0") 

    ## this is to allow gfortran compiler to work 
    Sys.setenv("PATH" = paste(Sys.getenv("PATH"),":/usr/local/bin",sep = "")) 
}## end "Aqua" 

local({ 
    tests_startup <- Sys.getenv("R_TESTS") 
    if(nzchar(tests_startup)) source(tests_startup) 
}) 
+0

Bạn có gì trong Rprofile của mình? Cụ thể, bạn đã định nghĩa '.First' như thế nào? – GSee

+0

Tôi không có .Rprofile (vì tôi đang cài đặt các gói trên toàn cầu dưới dạng root, nhưng sử dụng R làm người dùng đăng nhập của tôi). Tôi đã thêm đầu ra/nội dung của .First above – slackline

+0

Có gì trong Rprofile.site? – GSee

Trả lời

6

Hình như data.table không được cài đặt cho người dùng đang chạy các lệnh install.packages. Tôi nghĩ rằng gói rằng .First chức năng trong if (interactive()) { } sẽ là một ý tưởng tốt nói chung. Nếu không, bạn cần phải cài đặt data.table và bất kỳ gói nào khác tải lúc khởi động kể từ khi install.packages chạy tệp .Rprofile khi bắt đầu

+0

Đó là mẹo, vì tôi đang bắt đầu R và sau đó chạy install.packages() thay vì phương pháp R CMD INSTALL thay thế, tôi khởi động lại R bằng cờ --vanilla và cài đặt data.tables và tất cả các gói khác đã hoạt động tốt . Cảm ơn con trỏ. – slackline

Các vấn đề liên quan