簡體   English   中英

由於R在“ //”和“ \\\\”之間轉換,因此無法在R中安裝軟件包源

[英]Can't install packages sources in R due to R converting between “//” and “\\”

我無法在Windows中將軟件包從源安裝到R,並且在這里和在線其他地方也找不到其他人遇到此錯誤。

我在不是個人PC的PC上工作,並且只能將軟件包安裝到兩個不同的目錄中。 這些驅動器中每個驅動器的文件路徑都以兩個正斜杠(“ //”)開頭,並且僅與這些正斜杠一起使用,或者僅當這些正斜杠由反斜杠(“ \\\\”)替換時才起作用。

如果我嘗試將H2O安裝到目錄“ // drive / filepath”,例如:

install.packages("h2o", type="source", repos="http://h2o-release.s3.amazonaws.com/h2o/rel-xu/1/R", lib = "//drive/filepath")

R可以很好地下載.tar.gz源文件,但是當嘗試安裝它時,我得到了錯誤:

* installing *source* package 'h2o' ...
** R
** demo
** inst
Warning in file.create(to[okay]) :
  cannot create file '\drive/filepath/h2o/branch.txt', reason 'No such file or directory'
(THEN THE SAME WARNING FOR MULTIPLE OTHER FILES IT TRIES TO INSTALL TO THE SAME PATH)
** byte-compile and prepare package for lazy loading
Warning in file(con, "r") :
  cannot open file '\\drive/filepath/h2o/branch.txt': No such file or directory
Error in file(con, "r") : cannot open the connection
Error : unable to load R code in package 'h2o'
ERROR: lazy loading failed for package 'h2o'
* removing '\\drive/filepath/h2o'
In R CMD INSTALL
Warning in install.packages :
  installation of package ‘h2o’ had non-zero exit status

因此,R的工作似乎是將文件路徑開頭的雙斜杠(“ //”)轉換為雙反斜杠(“ \\”)。 R然后將字符串中的(“ \\”)識別為單個反斜杠(“ \\”)的轉義字符,因此它嘗試安裝文件的字符串就變成了“ \\ drive / filepath”,這是行不通的。 無論如何,這就是我認為正在發生的事情。

相反,我嘗試使用四個正斜杠,認為會將其更改為四個反斜杠,因此它將尋找具有兩個反斜杠的驅動器:

install.packages("h2o", type="source", repos="http://h2o-release.s3.amazonaws.com/h2o/rel-xu/1/R", lib = "////drive/filepath")

但是,它嘗試在將正斜杠轉換為反斜杠之前找到文件路徑,並且顯然沒有將其識別為現有文件路徑:

Warning in install.packages :
  'lib = "////drive/directory"' is not writable
Error in install.packages : unable to install packages

我還嘗試了使用四個和八個反斜杠執行命令,結果相同。 下面的兩個命令給出與上面相同的錯誤:

install.packages("h2o", type="source", repos="http://h2o-release.s3.amazonaws.com/h2o/rel-xu/1/R", lib = "\\\\drive/filepath")

install.packages("h2o", type="source", repos="http://h2o-release.s3.amazonaws.com/h2o/rel-xu/1/R", lib = "\\\\\\\\drive/filepath")

請問有什么辦法可以解決這個問題? 就像我說的,我不擁有這台PC(它屬於其他人),所以創建/更改驅動器不是一種選擇,下載其他軟件也不是。

注意:我可以從.zip文件安裝。

答案是當前無法做到這一點(在撰寫本文時,使用R的最新版本v3.5.1“羽化”)。 以“ //”或“ \\”開頭的文件路徑是UNC指定的目錄,當前版本的R從源安裝軟件包不支持該目錄。

將此路徑寫為“ \\\\\\\\ drive \\\\ directory”

如果仍然無法編寫,請以管理員身份運行腳本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM