[英]making change to function in R package and installing on Ubuntu
简短的问题:我想编辑RPostgreSQL
包中的postgresqlWriteTable
函数并将其安装在运行Ubuntu机器的R上。
详细说明:
我的问题的根源在于,我试图使用RPostgreSQL
包中的dbWriteTable
,使用R中的自动递增主键列写入postgres表。
我读了这篇文章: 如何使用自动递增的主键将数据从R写入PostgreSQL表? 它通过更改RPostgreSQL
软件包中的函数postgresqlWriteTable
提出了解决我的问题的建议。 当我在OSX环境中以交互方式使用fixInNamespace
并编辑该功能时,它将起作用。
不幸的是,我必须在Ubuntu上运行R的AWS实例上运行脚本。 我在RPostgreSQL
上的以下位置安装了RPostgreSQL
: /usr/local/lib/R/site-library/RPostgreSQL
。 我通过调用R CMD install RPostgreSQL_0.4-1.tar.gz
安装了它
现在,我试图找到函数postgresqlWriteTable
。 它应该在文件PostgreSQLSupport.R
。 我已经搜索了整个库-没有这样的文件。
我意识到在OSX Finder的本地计算机上,当我解压缩tar.gz软件包文件夹时,可以看到文件PostgreSQLSupport.R
,我应该在其中更改功能。
所以我改变了功能。 然后,我从Ubuntu机器中删除了已安装的RPostgreSQL,并将新文件夹(从本地机器)复制到Ubuntu机器中,并尝试使用devtools
来安装软件包,如本文中的建议: 从自定义目录加载R软件包
这是发生了什么:
> library("devtools")
> install("/usr/local/lib/R/site-library/RPostgreSQL")
Error: Can't find '/usr/local/lib/R/site-library/RPostgreSQL'.
> install("RPostgreSQL", "/usr/local/lib/R/site-library/RPostgreSQL")
Installing RPostgreSQL
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet \
CMD INSTALL '/datasci/nikhil/RPostgreSQL' \
--library='/usr/local/lib/R/site-library' --install-tests
* installing *source* package ‘RPostgreSQL’ ...
file ‘R/PostgreSQLSupport.R’ has the wrong MD5 checksum
ERROR: 'configure' exists but is not executable -- see the 'R Installation and Administration Manual'
* removing ‘/usr/local/lib/R/site-library/RPostgreSQL’
Error: Command failed (1)
我没办法 !
.tar.gz
文件复制到AWS机器上。 DESCRIPTION
文件中的版本号。 devtools::build
创建一个新的.tar.gz
文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.