簡體   English   中英

從源代碼安裝包?

[英]Installing a package from source?

我正在嘗試在R上安裝較舊版本的phylogenetics軟件包“geiger”。 我在Windows XP機器上。 我嘗試過以下結構:

install.packages(C:\geiger_1.3-1.tar.gz, repos = NULL, type = "source")

我能想到的每一個排列。

有沒有人有任何想法?

編輯:返回的錯誤是:

Error: unexpected input in "install.packages(C:\"

你不應該把文件名作為字符串傳遞(或者更好的是w / file.path )? 例如install.packages(file.path("geiger_1.3-1.tar.gz"), repos = NULL, type = "source")請記住安裝包需要傳遞一個字符串,加載庫可以傳遞一個未引用的字符串名稱(或字符串)。

在此處回復您的評論,以便我可以進行格式化

所以你寫了install.packages(C:\\Rfiles("geiger_1.3-1.tar.gz"), repos = NULL, type = "source") 請記住, install.packages的第一個參數必須是一個字符向量。 你傳遞的是C:\\Rfiles("geiger_1.3-1.tar.gz") ,這實際上並不是什么。 看一下help(file.path)help(install.packages) ,看看如何指定文件路徑的一些示例。 在這種特定情況下,您應該嘗試:

g.path <- file.path("C:", "Rfiles", "geiger_1.3-1.tar.gz")
install.packages(g.path, repos = NULL, type = "source")

這是(盡我所知)你的包的絕對路徑,不用擔心反斜杠/轉發問題。

非常感謝您的建議。 我終於通過使用另一個包解決了它:“repmis”。 這個包包含一個名為“InstallOldPackages”的命令,它就是這樣做的。 您可以指定所需的包名稱和版本號。

在Windows上,您通常需要將反斜杠\\切換為forwardslashes /或者您將出錯。 我猜測:

install.packages("C:/geiger_1.3-1.tar.gz", repos = NULL, type = "source")

會為你工作。 這可能是最簡單的方法。

暫無
暫無

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

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