簡體   English   中英

在 RStudio 中離線安裝軟件包

[英]Offline installation of packages in RStudio

由於安全協議,我正在使用沒有 http||https 連接的工作終端。 我在另一台計算機上手動下載了一些軟件包,並嘗試使用 RStudio 安裝它們。 當我在 RStudio 中運行時

install.packages(//filedir/package_file.zip,repos=NULL,type="source")

它無論如何都在嘗試連接到在線存儲庫:

>>warning in istall.packages:
>>unable to resolve 'www.stats.ox.ac.uk'

但是當我通過 RGui 並使用utils:::menuInstallLocal()並使用彈出窗口時,它不會嘗試通過服務器連接並安裝我的本地文件。

我在 RStudio 中做錯了什么?

我還希望能夠在安裝時自動為父包安裝依賴項和導入。

假設您的機器上有本地 zip 存檔格式的包。

RStudio 有一個簡單的菜單選項

工具>安裝包>在安裝選項中選擇“包存檔文件”

瀏覽您需要安裝的包文件。

安裝后你可能想加載庫,例如,如果你已經安裝了“tm”包,那么你可以運行命令

library(tm) # 加載庫 "tm"

希望它有效:)

不要使用參數type="source" ,因為您提供了指向 zip 文件的鏈接:

這應該工作

install.packages("yourlink.zip", repos=NULL)

步驟 1:- 在 PC 上安裝 R base(64 位)和 R Studio。 步驟 2:- 在 PC 上插入 Pendrive 或保存離線包文件夾的位置。 第三步:-。 在編輯模式下打開 R studio(R 腳本)。

getDependencies <- function(packs){
  dependencyNames <- unlist(
    tools::package_dependencies(packages = packs, db = available.packages(),
                                which = c("Depends", "Imports"),
                                recursive = TRUE))
  packageNames <- union(packs, dependencyNames)
  # Remove base dependencies, these are installed with R and not published on CRAN
  basePackages <- c("base","compiler","datasets","graphics","grDevices","grid",
                    "methods","parallel","splines","stats","stats4","tcltk","tools","utils")
  packageNames <- setdiff(packageNames, basePackages)

  packageNames
}


 packages <- getDependencies(c("tidyverse", "pacman"))
setwd("E:/offline package R installation")
pkgInfo <- download.packages(pkgs = packages, destdir = getwd(), type = "win.binary")
# Save just the package file names (basename() strips off the full paths leaving just the filename)
write.csv(file = "pkgFilenames.csv", basename(pkgInfo[, 2]), row.names = FALSE)

步驟5:在excel表格中獲取所需的包以及文件夾中的包后,將其存儲在任何你想要的地方。 之后在任何其他計算機上打開 R 編輯器。並執行以下代碼

# Set working directory to the location of the package files
setwd("E:/offline package R installation")

# Read the package filenames and install
pkgFilenames <- read.csv("pkgFilenames.csv", stringsAsFactors = FALSE)[, 1]
install.packages(pkgFilenames, repos = NULL, type = "win.binary")

最后,現在您可以在沒有任何互聯網連接的任何計算機上輕松使用離線包及其 deoendancies

暫無
暫無

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

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