【问题标题】:Build an R package tarball without divulging your user name in the tarball构建一个 R 包 tarball,而不在 tarball 中泄露您的用户名
【发布时间】:2018-11-06 14:07:03
【问题描述】:

R CMD build 中,用户的ID 会自动插入到DESCRIPTION 文件中。这是有问题的,因为我在公司计算环境中工作,我不想泄露我的用户 ID。

可重现的例子:

git clone git@github.com:tidyverse/reprex
R CMD build reprex
rm -rf reprex
tar -xf reprex*tar.gz
grep Packaged reprex/DESCRIPTION

当前输出:

Packaged: 2018-11-06 14:01:50 UTC; <MY USER ID>

期望的输出

Packaged: 2018-11-06 14:01:50 UTC; 

【问题讨论】:

  • 你为什么不直接删除名称并重新压缩它?
  • 现在你提到它似乎并不难,但它仍然感觉像是我不应该手动清理的东西。
  • 我添加了一个单行脚本。这比更改内部结构要容易得多,然后每次更新语言时都必须进行更改。如果您使用的是构建系统,请尝试将其添加到其中。 Travis 应该有后期构建钩子,并且对于开源项目是免费的,试试吧,很简单。或者将脚本添加为 bash 别名,这样您就不必每次都输入它。

标签: r r-package


【解决方案1】:

我不知道内部会这样做,但是,您为什么不直接删除 ID 并重新打包它?

git clone git@github.com:tidyverse/reprex
R CMD build reprex
rm -rf reprex
tar -xf reprex*tar.gz
grep -l "Packaged" reprex/DESCRIPTION | xargs sed  's/UTC;.*/UTC;/' >  reprex/DESCRIPTION

现在用 tar 再次压缩它。可能会将其添加到您的构建系统中。

【讨论】:

猜你喜欢
  • 2015-11-29
  • 2020-08-22
  • 2011-09-12
  • 1970-01-01
  • 1970-01-01
  • 2012-02-05
  • 2014-04-21
  • 2011-02-10
  • 2014-06-14
相关资源
最近更新 更多