在R包中进行更改并在Ubuntu上安装

时间:2016-07-18 02:20:51

标签: r postgresql ubuntu devtools

简短问题:我想编辑postgresqlWriteTable包中的RPostgreSQL函数,并将其安装在运行Ubuntu计算机的R上。

长解释:

我的问题的根源是我正在尝试使用来自dbWriteTable的{​​{1}}包来自R的自动递增主键列写入postgres表。

我读过这篇文章:How do I write data from R to PostgreSQL tables with an autoincrementing primary key?通过更改RPostgreSQL包中的函数postgresqlWriteTable建议修复我的问题。当我在OSX环境中交互式使用RPostgreSQL并编辑该函数时,它可以工作。

不幸的是,我必须在Ubuntu上运行R的AWS实例上运行我的脚本。我在我的计算机上的这个位置安装了fixInNamespaceRPostgreSQL。我通过调用/usr/local/lib/R/site-library/RPostgreSQL

来安装它

现在我正在尝试找到函数R CMD install RPostgreSQL_0.4-1.tar.gz。它应该在文件postgresqlWriteTable中。我搜索了整个图书馆 - 没有这样的文件。

我意识到在OSX Finder的本地机器上,当我解压缩tar.gz包文件夹时,我可以看到文件PostgreSQLSupport.R,我应该更改该函数。

所以我改变了功能。然后我从我的Ubuntu机器上删除了已安装的RPostgreSQL,并将新文件夹(从我的本地机器)复制到我的Ubuntu机器中,并尝试使用PostgreSQLSupport.R按照帖子中的建议安装软件包:Loading an R Package from a Custom directory

这是发生的事情:

devtools

我的智慧结束了!

1 个答案:

答案 0 :(得分:2)

  1. 将pacakge .tar.gz文件复制到AWS计算机。
  2. 解压缩此文件,以便您拥有目录结构。
  3. 编辑文件中的功能并保存更改。
  4. 您可能还需要增加DESCRIPTION文件中的版本号。
  5. 使用devtools::build创建新的.tar.gz文件。
  6. 安装此软件包的更新版本。