我在构建以下软件包时遇到了一个问题:https://github.com/yoni/rbundler
我的测试试图bundle在一个具有单一依赖关系的普通包上运行rbundler的命令.测试在我的OSX机器上传递,但在我的x86_64-redhat-linux-gnu Jenkins服务器上失败了.这两台机器都运行R 2.15.1和devtools0.7.1,其中包括此错误修复.
完整的测试输出可以在这个要点中找到.
以下是我看到的错误的简短摘要:
Error in file(filename, "r", encoding = encoding) :
cannot open the connection
Calls: local ... eval.parent -> eval -> eval -> eval -> eval -> source -> file
In addition: Warning message:
In file(filename, "r", encoding = encoding) :
cannot open file 'startup.Rs': No such file or directory
Execution halted
Run Code Online (Sandbox Code Playgroud)
这样做的背景是我正在尝试为R构建一个依赖管理系统.这个想法是R项目应该能够在不使用系统范围或用户范围的库的情况下运行.相反,R项目将在其根目录下安装它自己的库.
对于我之前与R中的依赖关系管理相关的Stack Overflow问题,请参阅R中的依赖关系管理
我正在写一个R包,我想forecast从包预测中导入泛型函数.我的包提供了方法forecast.myobj.我有 forecast在Imports:包中的DESCRIPTION文件和我的函数定义如下:
##' @export
forecast.myobj <- function(x) {
}
Run Code Online (Sandbox Code Playgroud)
我正在使用devtools 包(版本1.5)来构建包.生成的NAMESPACE具有以下内容
S3method(forecast, myobj)
importFrom(forecast, forecast)
Run Code Online (Sandbox Code Playgroud)
但是,当我在干净的R会话中加载我的包时,函数forecast不可用.但有趣的是,我可以看到的帮助页面forecast,并forecast.myobj和我可以通过访问这些功能forecast::forecast和mypackage:::forecast.myobj.是否有可能forecast在不依赖包装的情况下向用户提供forecast?我检查了文档,并在这里回顾了一堆类似的问题,但我没有找到明确的否定或肯定的答案.
从RStudio内部我试图按照这些说明从github安装data.table包,并且包似乎下载没有问题:
> library(devtools)
> dev_mode(on=T)
Dev mode: ON
d> install_github("Rdatatable/data.table")
Downloading GitHub repo Rdatatable/data.table@master
from URL https://api.github.com/repos/Rdatatable/data.table/zipball/master
Run Code Online (Sandbox Code Playgroud)
然后我收到以下提示:
从源代码构建R包需要安装其他构建工具.您想立即安装其他工具吗?
选择"是"会导致出现此错误消息:
Error: Could not find build tools necessary to build data.table
Run Code Online (Sandbox Code Playgroud)
考虑到这可能是一个RStudio问题,我尝试在标准R控制台中安装软件包,但这也导致了一个错误:
Downloading GitHub repo Rdatatable/data.table@master
from URL https://api.github.com/repos/Rdatatable/data.table/zipball/master
Installing data.table
"C:/PROGRA~1/R/R-33~1.0/bin/x64/R" --no-site-file --no-environ --no-save \
--no-restore --quiet CMD INSTALL \
"C:/Users/Robert/AppData/Local/Temp/RtmpOOKOKu/devtools246832c52ab/Rdatatable-data.table-4348ff4" \
--library="C:/Users/Robert/Documents/R-dev" --install-tests
* installing *source* package 'data.table' ...
** libs
c:/Rtools/mingw_64/bin/gcc -I"C:/PROGRA~1/R/R-33~1.0/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c assign.c -o assign.o
c:/Rtools/mingw_64/bin/gcc: not found …Run Code Online (Sandbox Code Playgroud) 例如mergedArray下面的变量。
我的问题是,即使在当前函数中定义变量,通常也无法检查变量。
我发现其他问题也提出类似的问题,但这些问题的答案与在更高范围内定义的变量有关。
从技术上讲,这个问题是在 Electron 中出现的 - 但它本质上使用的是 Chrome DevTools。
每个PHP程序员都可能至少使用某种形式的模板引擎和数据库抽象层,但除了那些额外的东西你认为必不可少还是会推荐你的同事程序员尝试?
我试图卸载包含所有依赖项的包.我遇到的问题是卸载依赖项的顺序.因为依赖项是递归的,所以它们只能在依赖关系树中从底部向上卸载.
在R中有一种简单或原生的方式来实现这一目标吗?我想要完成的第一步:
eval_current <- function(expr, envir=parent.frame(), timeout=60){
#set the timeout
setTimeLimit(elapsed=timeout, transient=TRUE);
#currently loaded packages
currentlyattached <- search();
currentlyloaded <- loadedNamespaces();
on.exit({
#reset time limit
setTimeLimit(cpu=Inf, elapsed=Inf, transient=FALSE);
#try to detach packages that were attached during eval
nowattached <- search();
todetach <- nowattached[!(nowattached %in% currentlyattached)];
for(i in seq_along(todetach)){
try(detach(todetach[i], unload=TRUE, character.only=TRUE, force=TRUE));
}
#try to unload packages that are still loaded
nowloaded <- loadedNamespaces();
tounload <- nowloaded[!(nowloaded %in% currentlyloaded)];
for(i in seq_along(tounload)){
try(unloadNamespace(tounload[i]));
}
});
eval(expr, envir)
}
Run Code Online (Sandbox Code Playgroud)
但它导致:
> …Run Code Online (Sandbox Code Playgroud) 我正在使用usethis/ 处理R 包devtools。这个包有一些我想保留在内部的对象,只是为了保持混乱。我使用的结构是根据对象的来源在不同文件中创建对象,所有对象都在我的data-raw文件夹中。例如,该文件make_laus_codes.R准备了来自劳工统计局(一个内部,称为laus_codes)的查找代码的两个数据框,以及make_decennial_tables.R来自十年一次人口普查(包括内部,decennial_nums)的查找代码。
如果我调用类似usethis::use_data(data_name, internal = TRUE),如果sysdata.rda文件已经创建并且我没有选择覆盖它,我会收到错误消息;如果我选择覆盖,它会覆盖整个内容,而不是我所期望的,即将第二个对象附加到sysdata.rda.
在 sysdata.rda 中存储多个对象的公认答案:R-package development说要调用usethis::use_data(laus_codes, decennial_nums, internal = TRUE),但是那里的评论提出了一个问题,如果这些对象不是同时被创建会怎样,这就是我想要的地方捡起。
我的结构的简化版本如下:
数据原始/make_laus_codes.R:
laus_codes <- data.frame(
area = c("Connecticut", "Fairfield County", "Hartford County"),
code = c("ST0900000000000", "CN0900100000000", "CN0900300000000")
)
Run Code Online (Sandbox Code Playgroud)
数据原始/make_decennial_tables.R:
decennial_nums <- c("H002", "H003", "H004", "H005", "H006")
Run Code Online (Sandbox Code Playgroud)
数据原始/make_internal_data.R:
source("./make_laus_codes.R")
source("./make_decennial_tables.R")
usethis::use_data(laus_codes, decennial_nums, internal = TRUE)
Run Code Online (Sandbox Code Playgroud)
这有效,但感觉很尴尬,就像我错过了这样做的预期方法。有没有一种更好、更合适和/或意图的方法来做到这一点usethis?以这种方式获取其他文件感觉容易受到错误和健忘的影响。
谁能告诉我是否有任何方法可以使用 Chrome DevTools 中的 Inspect 查看屏幕对象的 X 和 Y,或者任何允许此操作的扩展程序?
当您使用 Inspect 将鼠标悬停在对象上时,DevTools 显示对象的大小,但不显示对象的位置。
欢迎每一个帮助。谢谢。
google-chrome devtools google-chrome-extension google-chrome-devtools
我正在尝试使用 Devtools,但控制台打印出以下错误:
DevTools 调试器已被禁用,因为它附加到托管多个顶级框架的进程,在该进程中 DevTools 调试器无法正常工作。请使用 --disable-features=ProcessPerSiteUpToMainFrameThreshold 重新启动浏览器以启用调试器。
我使用的是 Chrome Beta 115.0.5790.56,这种情况最近才开始发生。这是 Chrome 中的错误吗?
devtools ×10
r ×5
package ×2
cran ×1
dependencies ×1
electron ×1
javascript ×1
networking ×1
packages ×1
php ×1
r-package ×1