2014-04-25 5 views
8

내가 처음DevTools로 :: install_github 기능에서 오류 (유형, MSG, asError = TRUE) : ​​<not set>

[email protected]:~$ R --vanilla 
> library(devtools) 

Attaching package: ‘devtools’ 

The following objects are masked from ‘package:utils’: 

    ?, help 

The following object is masked from ‘package:base’: 

    system.file 

> search() 
[1] ".GlobalEnv"  "package:devtools" "package:stats"  
[4] "package:graphics" "package:grDevices" "package:utils"  
[7] "package:datasets" "package:methods" "Autoloads"   
[10] "package:base" 

하지만 대한 devtools::install_github를 통해 패키지를 설치하기 위해 노력하고있어, 예를 들어

> install_github("devtools") 
Installing github repo devtools/master from hadley 
Downloading master.zip from https://github.com/hadley/devtools/archive/master.zip 
Errore in function (type, msg, asError = TRUE) : <not set> 
내가 다른 REPO에 tryied하지만

> traceback() 
12: fun(structure(list(message = msg, call = sys.call()), class = c(typeName, 
     "GenericCurlError", "error", "condition"))) 
11: function (type, msg, asError = TRUE) 
    { 
     if (!is.character(type)) { 
      i = match(type, CURLcodeValues) 
      typeName = if (is.na(i)) 
       character() 
      else names(CURLcodeValues)[i] 
     } 
     typeName = gsub("^CURLE_", "", typeName) 
     fun = (if (asError) 
      stop 
     else warning) 
     fun(structure(list(message = msg, call = sys.call()), class = c(typeName, 
      "GenericCurlError", "error", "condition"))) 
    }(77L, "<not set>", TRUE) 
10: .Call("R_curl_easy_perform", curl, .opts, isProtected, .encoding, 
     PACKAGE = "RCurl") 
9: curlPerform(curl = handle$handle, .opts = curl_opts$values) 
8: make_request("get", hu$handle, hu$url, config = config) 
7: GET(url, config) 
6: (function (url, name = NULL, subdir = NULL, config = list(), 
     before_install = NULL, ...) 
    { 
     if (is.null(name)) { 
      name <- basename(url) 
     } 
     message("Downloading ", name, " from ", url) 
     bundle <- file.path(tempdir(), name) 
     request <- GET(url, config) 
     stop_for_status(request) 
     writeBin(content(request), bundle) 
     on.exit(unlink(bundle), add = TRUE) 
     install_local_single(bundle, subdir = subdir, before_install = before_install, 
      ...) 
    })(dots[[1L]][[1L]], dots[[2L]][[1L]], subdir = NULL, config = list(), 
     before_install = function (bundle, pkg_path) 
     { 
      desc <- file.path(pkg_path, "DESCRIPTION") 
      DESCRIPTION <- readLines(desc, warn = FALSE) 
      if (any(DESCRIPTION == "")) { 
       DESCRIPTION <- DESCRIPTION[DESCRIPTION != ""] 
      } 
      cat(DESCRIPTION, file = desc, sep = "\n") 
      append_field <- function(name, value) { 
       if (!is.null(value)) { 
        cat("Github", name, ":", value, "\n", sep = "", 
        file = desc, append = TRUE) 
       } 
      } 
      append_field("Repo", conn$repo) 
      append_field("Username", conn$username) 
      append_field("Ref", conn$ref) 
      append_field("SHA1", github_extract_sha1(bundle)) 
      append_field("Pull", conn$pull) 
      append_field("Subdir", conn$subdir) 
      append_field("Branch", conn$branch) 
      append_field("AuthUser", conn$auth_user) 
     }, dependencies = TRUE) 
5: mapply(install_url_single, url, name, MoreArgs = list(subdir = subdir, 
     config = config, before_install = before_install, ...)) 
4: install_url(conn$url, subdir = conn$subdir, config = conn$auth, 
     before_install = github_before_install, ...) 
3: FUN("devtools"[[1L]], ...) 
2: vapply(repo, install_github_single, FUN.VALUE = logical(1), username, 
     ref, pull, subdir, branch, auth_user, password, auth_token, 
     ..., dependencies = TRUE) 
1: install_github("devtools") 

traceback()의 출력은 BEH입니다 같은 방식으로.

힌트가 있습니까?

> sessionInfo() 
R version 3.1.0 (2014-04-10) 
Platform: x86_64-pc-linux-gnu (64-bit) 

locale: 
[1] LC_CTYPE=it_IT.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=it_IT.UTF-8  LC_COLLATE=it_IT.UTF-8  
[5] LC_MONETARY=it_IT.UTF-8 LC_MESSAGES=it_IT.UTF-8 
[7] LC_PAPER=it_IT.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=it_IT.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] devtools_1.5 

loaded via a namespace (and not attached): 
[1] digest_0.6.4 evaluate_0.5.1 httr_0.2  memoise_0.1 parallel_3.1.0 
[6] RCurl_1.95-4.1 stringr_0.6.2 tools_3.1.0 whisker_0.3-2 
+0

'traceback()'의 출력을 포함시킬 수 있습니까? – hadley

+0

@hadley 확실, 감사합니다. 편집 됨 –

+0

흠, 전에 보지 못했네. 아마 devtools repo에서 버그를 제기하고이 질문을 끝내는 것이 가장 좋습니다. – hadley

답변

22

사실, 저는 동일한 문제가 있었으며 RCurl을 설치 한 후에 효과가있었습니다. R에 그런

sudo apt-get install libcurl4-openssl-dev 

을 :

install.packages('RCurl') 

을 그리고 그것 뿐이다 우분투에 RCurl를 설치하기 위해

는 터미널에 다음과 같은 쓰기!

+0

이것은 이제 허용 된 대답이어야합니다. –

4

적절한 libcurl 버전을 설치할 수없는 경우 "install_github"대신 "install_git"기능을 사용해보십시오. 예 :

library(devtools) 
install_git("https://github.com/hadley/devtools.git") 

2

죄송합니다, 이것은 Debian의 r-cran-rcurl 패키지에있는 bug입니다. 우리는 결국 데비안 배포본 unstable, testing 및 좀더 최근에 stable (Jessie 8.2)에서 수정했습니다. 우분투에서는 wily으로 고정됩니다. 죄송합니다. 데비안 또는 그 파생 상품을 사용 해 주셔서 감사합니다!