【发布时间】:2018-08-26 00:12:41
【问题描述】:
this site 的示例小插图中的一个简单更改说明了我的问题。
下面的代码将运行。没问题。因为 url 中没有空格。
#miniCRAN example
library("miniCRAN")
# use Revolution Analytics CRAN mirror
revolution <- c(CRAN = "http://cran.microsoft.com")
# Specify list of packages to download
pkgs <- c("foreach")
pkgList <- pkgDep(pkgs, repos = revolution, type = "source", suggests = FALSE)
pkgList
# Create temporary folder for miniCRAN
dir.create(pth <- file.path("C:", "RTEMP", "miniCRAN"), recursive=TRUE)
# Make repo for source and win.binary
makeRepo(pkgList, path = pth, repos = revolution, type = c("source", "win.binary"))
# List all files in miniCRAN
list.files(pth, recursive = TRUE, full.names = FALSE)
#install packages from your local repository
install.packages(pkgs, repos = paste0("file:///", pth), type = "source")
但是如果我们改变下面的行让它有一个空格字符,那么它会在 install.packages 上失败。
# Create temporary folder for miniCRAN
dir.create(pth <- file.path("C:", "WHITE SPACE", "miniCRAN"), recursive=TRUE)
在我看来,第 p 个字符串被拆分了。除了在我的文件系统中更改文件夹名称之外,有什么办法可以解决这个问题?我试图用“%20”替换“”,但这没有帮助。我在Windows系统上,顺便说一句。
Warning: invalid package 'C:/WHITE'
Warning: invalid package 'SPACE/miniCRAN/src/contrib/foreach_1.4.4.tar.gz'
Error: ERROR: no packages specified
【问题讨论】:
-
我会试试
shortPathName(file.path("C:/", "WHITE SPACE", "miniCRAN")) -
@StéphaneLaurent 你能把这个写下来作为答案吗?