问题
I'm trying to install a package via devtools::install_github for the first time
l@np350v5c:~$ 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"
but, eg
> 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>
The output of traceback() is
> 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")
I tryied with another repo but it behaves the same way.
Any hint?
> 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
回答1:
Actually, I had the same issue and after installing RCurl it worked.
In order to install RCurl in ubuntu, write the following in your terminal:
sudo apt-get install libcurl4-openssl-dev
Then in R:
install.packages('RCurl')
And that's it!
回答2:
If you can't install the appropriate version of libcurl, you can try using the "install_git" function instead of "install_github". For example,
library(devtools)
install_git("https://github.com/hadley/devtools.git")
That worked for me.
回答3:
Sorry, this was a bug in the r-cran-rcurl package in Debian. We eventually corrected it in the Debian distribution unstable, testing, and more recently stable (Jessie 8.2). In Ubuntu it is fixed in wily. Sorry for the problem, and thanks for using Debian or its derivatives !
来源:https://stackoverflow.com/questions/23287685/devtoolsinstall-github-error-in-function-type-msg-aserror-true-not-se