我最近將R更新到最新版本:3.4.0。 R安裝在網絡位置H:/
。在R 3.4.0中從二進制文件安裝軟件包
filename <- paste0("R:/path/independeR_", versions, ".zip")
install.packages(filename,
repos = NULL, type = "source",
lib = gsub("\\\\\\\\networkpath/home/[[:alpha:]]*/",
"H:/", .libPaths()[1]))
兩個H:/
和R:/
是網絡位置:現在,當我嘗試安裝一個本地二進制包奇怪的事情正在發生。在.libPaths()
中,默認位置位於H:/
位置,但會顯示整個網絡地址。在撥打install.packages
我替換了這個。
上面的代碼將失敗,並輸出如下:
'\\networkpath\home\JDUB~PN6\DOCU~UZL\R\R-34~TN4.0' is not recognized as an internal or external command,
operable program or batch file.
Warning in install.packages :
running command '"//networkpath/home/JDUB~PN6/DOCU~UZL/R/R-34~TN4.0/bin/x64/R" CMD INSTALL -l "H:\Documents\R\R-3.4.0\library" "R:/path/independeR_0.1.8.zip"' had status 1
Warning in install.packages :
installation of package ‘R:/path/independeR_0.1.8.zip’ had non-zero exit status
還有就是我在這裏感到驚訝兩兩件事。目錄名都混亂了(DOCU~UZL
而不是Documents
等),但由於某些原因命令promt似乎很好。更有趣的事情是這樣的:
當我嘗試把命令"//networkpath/home/JDUB~PN6/DOCU~UZL/R/R-34~TN4.0/bin/x64/R" CMD INSTALL -l "H:\Documents\R\R-3.4.0\library" "R:/path/independeR_0.1.8.zip"
直接進入命令提示符,輸出十分相似:
C:\Users\jdubbeldam>"//networkpath/home/JDUB~PN6/DOCU~UZL/R/R-34~TN4.0/b
in/x64/R" CMD INSTALL -l "H:\Documents\R\R-3.4.0\library" "R:/path/independeR_0.1.8.zip"
'\\networkpath\home\JDUB~PN6\DOCU~UZL\R\R-34~TN4.0' is not recognized as
an internal or external command,
operable program or batch file.
出於某種原因,CMD似乎切斷路徑中途通過。我想這是因爲命令太長了。當我嘗試相同的命令時,但使用H:/Documents/R/R-3.4.0/bin/x64/R
時,安裝很順利。
我希望能夠從腳本自動安裝此軟件包,所以我想從R內解決此問題。有沒有辦法讓R使用較短的H:/Documents/R/R-3.4.0/bin/x64/R
?
雖然此鏈接可能會回答問題,但最好在此處包含答案的重要部分並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 –
嗯,我記得在調試'install.packages'時看到錯誤信息中提到的'mtime'和'ctime'這兩個名字,但不知道如何處理它們。 雖然這並沒有直接回答如何解決這個問題,但它確實確認它是一個錯誤,並且它應該儘快修復。 – JAD