我曾经能够在github存储库中构建我的R包,但是devtools函数已被弃用,并被新功能取代,不再允许我这样做。
我以前在目录devtools::setup('NewPackage', check=FALSE)
中使用/home/User/NewPackage/
来创建我的R包/home/User/NewPackage/NewPackage
新的替代方法出现以下错误
usethis::create_package('NewPackage')
#New project 'NewPackage' is nested inside an existing project '/home/User/NewPackage/'
#This is rarely a good idea. Do you wish to create anyway?
#1: Negative
#2: I agree
#3: No way
我已经自动创建了包裹,但是这个新功能破坏了我所有包裹中的代码。
我已将其发布为错误https://github.com/r-lib/usethis/issues/553
但是我仍在寻找解决方法或以任何方式自动提交I agree
吗?
在我的.Rd2pdf12059
目录中也有隐藏文件,例如/home/User/NewPackage/
在此问题解决之前,我只是复制了旧的devtools源代码,并删除了我不喜欢的代码。
答案 0 :(得分:0)
这不是最干净的处理方式,但是您可以使用select_type: Simple
table: r
partitions: null
possible_keys: ix_road_geometry
key: ix_road_geometry
key_len: 34
ref: null
rows: 1
filtered: 100
Extra: Using where
来欺骗testthat::with_mock
:
check_not_nested
答案 1 :(得分:0)
由于 testthat::with_mock
函数现已弃用,并且 mockr
或 mockery
中的函数无法替换其他包中的函数,因此我发现以下方法有效。
请注意,check_not_nested
现在在 challenge_nested_project
软件包(2.0.1 版)中被命名为 usethis
challenge_nested_project <- function(path, name) return()
rlang::env_unlock(env = asNamespace('usethis'))
rlang::env_binding_unlock(env = asNamespace('usethis'))
assign('challenge_nested_project', challenge_nested_project, envir = asNamespace('usethis'))
rlang::env_binding_lock(env = asNamespace('usethis'))
rlang::env_lock(asNamespace('usethis'))
此代码在卸载并再次加载包之前不会临时替换该函数,并且 rlang
函数被列为实验性的,因此请谨慎处理,结果将来可能会发生变化。