在Ubuntu上而不是Windows上的namespaceExports(ns,exports)出错

时间:2016-05-29 18:54:28

标签: r ubuntu namespaces devtools

我刚刚在AWS上发起了一个EC2服务器,我正在尝试安装一个包 github叫'krose/skm'。安装包在Windows上没有任何问题,但在Ubuntu上没有。所有依赖项都已安装。我无法弄清楚为什么它可以在Windows上安装,但不能在Ubuntu上安装。

library(devtools)
install_github('krose/skm')

运行上面代码的结果是:

Downloading GitHub repo krose/skm@master
from URL https://api.github.com/repos/krose/skm/zipball/master
Installing skm
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet  \
CMD INSTALL '/tmp/RtmpxJg8N7/devtools1b887e511e96/krose-skm-059766b'  \
--library='/usr/local/lib/R/site-library' --install-tests

* installing *source* package ‘skm’ ...
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Error in namespaceExport(ns, exports) :
undefined exports: skm_umm_stations, skm_ummquery, skm_webquery
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/usr/local/lib/R/site-library/skm’
Error: Command failed (1)

使用Roxygen2记录功能并导出。未使用<< - 。

分配函数

这是我的sessionInfo()

R version 3.2.5 (2016-04-14)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.4 LTS

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
 [1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
 [1] devtools_1.11.1

loaded via a namespace (and not attached):
 [1] httr_1.1.0    R6_2.1.2      tools_3.2.5   withr_1.0.1   curl_0.9.7
 [6] memoise_1.0.0 git2r_0.14.0  digest_0.6.9

我对Ubuntu没有多少经验。

更新:R CMD检查有以下两个注释:

* checking DESCRIPTION meta-information ... NOTE
License components which are templates and need '+ file LICENSE':
  MIT
* checking top-level files ... NOTE
Non-standard file/directory found at top level:
  'README.Rmd'

1 个答案:

答案 0 :(得分:2)

包中的R目录被误称为r。 Windows没有发现差异,因为它对文件和目录名称的差异更加宽容。