依赖于 data.table 的另一个包的包错误

Error in package depending on another package that depends on data.table

我有一个对我来说没有意义的行为,有人可以解释以下行为

我创建了 2 个包 A,B

A 依赖于 data.table 并定义函数 readFile

B 依赖于 A 并定义函数 useFile

useFile <- function(path){
  DT <- readFile(path)
  print(class(DT))
  return(DT[x == 'a'])
}

当我做的时候

library(A)
library(B)
useFile(myFile)

我看到 DT 是 print 语句中的 data.table 但它崩溃说 object x not found (当然 data.table 有一个 x 列)

现在,当我也使 B 依赖于 data.table 时,它工作正常!

有人可以解释这种行为吗,我认为当调用 library(A) 时所有 data.tableness 都应该存在!!

PS:我知道我应该提供可复制的但我们在这里拿了 2 个包,如果没有明显的答案我会在线上传 2 个包

为了确定,添加 DESCRIPTION 中的 Depends: data.table 所有使用 data.table 的包,即使他们使用的其他包已经使用 data.table