R包devtools似乎是使用该install_github()函数直接从其github存储库安装R包的首选方法.
这样做时,不仅安装了已解决的github-package,还安装了直接的CRAN依赖项,即包的Description/Namespace文件中定义的Depends和Imports.
但是,我想知道是否需要间接需要的包,例如Depends和Imports包所需的包,也会自动安装.
例如,在安装DT包通过时install_github("rstudio/DT"),htmltools也会安装(设置dependencies=TRUE)Imports包,但不Rcpp包括前者所依赖的包(R 3.3.1,Rtools34,Win10,x64).这些包需要以另一种方式安装吗?
我想设置一个监听器console.log()并对消息执行某些操作,而不会阻止默认行为.因此,开发工具的控制台也应该得到消息.有任何想法吗?
我有一个基本上是列表的容器类.因为我想支持子集化,所以我重载了子集[运算符(可能实现得很差).
#' Constructor for spectra object
.spectra = function(n_spectrum = 0) {
object = vector(mode = "list", n_spectrum)
class(object) = "spectra"
return(object)
}
#' Operator overload
#' @export
`[.spectra` = function(x, i) {
x = unclass(x)
x = x[i] # Using the list's subset function
class(x) = "spectra"
return(x) # Should return a "spectra" object, not a list
}
Run Code Online (Sandbox Code Playgroud)
现在,这在我的开发环境中(当我正在调试包时)按预期工作.也就是说,如果y_old是一个spectra对象,我做的y_new = y_old[-1],y_new仍然是一个spectra对象.
但是,当我将项目编译为包并安装它时,子集操作符返回一个list而不是一个spectra …
我正在整理一个R数据包,直到现在我一直在记录数据集.以下内容包含在名为package repo文件夹中charges_ay.R的R文件中.
#' Student Charges for Academic Year programs.
#'
#' For more information, download a data dictionary from the IPEDS website.
#'
#' Survey years 2002 - 2014.
#'
#' @source http://nces.ed.gov/ipeds/datacenter/DataFiles.aspx
#' @format Data frame with columns
"charges_ay"
Run Code Online (Sandbox Code Playgroud)
当我尝试devtools::document从包的基础运行时(就像我对其他文件一样),我收到以下错误:
> devtools::document()
Updating ripeds documentation
Loading ripeds
Error: 'charges_ay' is not an exported object from 'namespace:ripeds'
Run Code Online (Sandbox Code Playgroud)
鉴于到目前为止一切工作正常,我有点困惑,因为进程和文件文档都是一样的.
任何帮助将不胜感激!
我正在向CRAN提交一份包裹,我收到了审核小组的以下警告:
包具有VignetteBuilder字段,但没有预先构建的晕影索引.
事实上我在跑步时也看到过devtools::release().我正在使用上一个R版本,R version 3.3.1并具有以下.Rmd插图来源:
---
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{<my vignette title>}
%\VignetteEngine{knitr::knitr}
%\usepackage[utf8]{inputenc}
---
Run Code Online (Sandbox Code Playgroud)
此外,我已按默认方式包含knitr在DESCRIPTION文件中:
Suggests:
knitr
VignetteBuilder:
knitr
Run Code Online (Sandbox Code Playgroud)
我环顾四周,虽然问题似乎很常见,但我还是无法理解索引为什么不构建(以及如何强制构建它).
这个问题和其中的链接是谷歌的顶级结果,但没有解决问题.
有没有办法重现使用的环境devtools::check?
我有问题,我的测试工作devtools::test()但内部失败devtools::check().我的问题是现在,如何找到问题.报告check只是打印错误日志的最后几行,我找不到完整的测试报告.
checking tests ... ERROR
Running the tests in ‘tests/testthat.R’ failed.
Last 13 lines of output:
...
Run Code Online (Sandbox Code Playgroud)
我知道check使用不同的环境相比,test但我不知道如何调试这些问题,因为它们根本不可重现.特别是这些测试在几个月前运行,所以不知道在哪里寻找问题.
编辑
实际上我试图找到我的问题,我找到了解决方案.但要发布我的解决方案,我必须添加更多细节.
所以我的测试总是失败,因为我测试了markdown脚本,如果它运行没有错误,之后我检查是否正确设置了一些环境变量.这些是我用脚本计算的结果以及我设置的标准设置.因此,如果我在开发后忘记更改某些设置,我想收到警告...
无论如何,既然是降价剧本,我不得不提取代码,我是用这个职位评论knitr:运行Rmarkdown文档中的所有数据块使用knitr::purl,以获取代码,并sys.source执行它.
runAllChunks <- function(rmd, envir=globalenv()){
# as found here https://stackoverflow.com/questions/24753969
tempR <- tempfile(tmpdir = '.', fileext = ".R")
on.exit(unlink(tempR))
knitr::purl(rmd, output=tempR, quiet=TRUE)
sys.source(tempR, envir=envir)
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这会产生一个错误,因为可能会持续几周(不确定我最近安装了哪些新软件包......).但是由于有一个新的评论,我可以使用knitr::knit它也执行代码,这按预期工作,现在我的测试不再抱怨.
所以最后,我不知道问题究竟在哪里,但现在正在发挥作用.
我正在使用支持Rcpp的R软件包作为RStudio(版本1.0.136,Ubuntu 16.04 64位)中的项目,并且最近在使用工具>构建和重新加载构建软件包后开始出现错误.错误对话框显示:
Save File
No such file or directory
Run Code Online (Sandbox Code Playgroud)
构建和重新加载后,错误不会出现.相反,它发生在一段时间后,对文件进行编辑,似乎是随机的,而不是在尝试保存时.但是,关闭对话框文件后无法保存而不会生成其他错误,这次使用以下消息:
Error Saving File
No such file or directory
Run Code Online (Sandbox Code Playgroud)
接下来,唯一的方法是重新启动RStudio而不保存任何文件,从而丢失所有更改.
它似乎不是roxygen2或devtools的问题,因为我尝试使用和不使用工具>项目选项>构建工具中的Roxygen和使用devtools包函数选项生成文档.我也尝试卸载和重新安装RStudio以及更新devtools等,但问题仍然存在.我想知道它是否是其中一个包文件中的问题,例如NAMESPACE或DESCRIPTION.软件包存储库位于https://github.com/shaunpwilkinson/insect.
我最近一直在测试font-display,但我的Chrome浏览器(Chrome 65)在工作(Centos 7)和家用(Windows 10)似乎都不认为它是有效的属性.查看DevTools,该物业旁边有一个黄色感叹号,上面写着"未知物业名称".
font-display自63版以来,Chrome一直支持我的理解.
作为参考,我正在尝试设置的值font-display来swap.
任何人都有任何想法,为什么我没有看到它的工作?
谢谢
Google Chrome浏览器具有一项可以运行的功能,monitorEvents(document)并且您触发的每个事件都将记录在控制台中。
如何在FireFox中获得类似的功能?
我遇到了这个非常过时的答案,但是Firebug甚至不复存在:使用Firefox,我如何监视所有触发的JavaScript事件?
这是我运行后收到的错误 devtools::check_rhub()
检查检查目录中的非标准内容...注意找到以下文件/目录:'disk.frame-Ex_i386.Rout''disk.frame-Ex_x64.Rout''examples_i386''examples_x64'
这些笔记在我跑步时不会出现devtools::check()。
我不明白这些是什么意思。我正在运行的软件包是disk.frame。