R“RPostgrSQL”包无法在 Centos 8 上安装(因为未指定“lib”)

R“RPostgrSQL”包无法在 Centos 8 上安装(因为未指定“lib”)

我想安装 R 包 RPostgresql 来连接到 Centos 8 上名为“crex”的 PostgreSQL 数据库。当我运行

> install.packages("RPostgreSQL")

在终端我收到以下错误:

Installing package into ‘/usr/lib64/R/library’
(as ‘lib’ is unspecified)
Warning in install.packages("RPostgreSQL") :
  'lib = "/usr/lib64/R/library"' is not writable
Would you like to use a personal library instead? (yes/No/cancel)

从我收集到的消息来看,我需要设置一个个人库,但我不确定其含义。我想做的是运行 ar 脚本,例如 new.r,它将被另一个 bash 脚本调用。

new.r:

require("RPostgreSQL")

pw <- {
  "XXXX"
}

drv <- dbDriver("PostgreSQL")

con <- dbConnect(drv, dbname = "crex",
                 host = "localhost", port = 5432,
                 user = "postgres", password = pw)
rm(pw) 

dbExistsTable(con, "work")
#other commands

Bash 脚本b.txt:

#!/bin/bash

Rscript new.r
#other commands

有人可以帮忙吗?

答案1

R 希望在该默认路径中安装软件包。该路径不存在,或者您没有对该路径的写权限。

从您通过 bash 运行 R 脚本的角度来看,将库安装在其他地方(例如个人库)不是问题。我不会担心库安装在哪里,除非您稍后加载它们时遇到特殊问题。一个可能的暗示是,如果您以其他用户身份运行脚本,则可能需要再次安装到该用户可以访问的路径中。

相关内容