问题标签 [package-development]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1483 浏览

r - devtools::use_data( , 内部 =TRUE)

我想使用一个数组,比如说aaa,作为内部数据devtools::use_data( aaa,internal =TRUE)

但是这个命令只生成一个文件sysdata.rda。为什么 ?为什么不允许存在多个内部数据文件?

我也无法理解内部 =TRUE 和 FALSE 之间的区别。

我使用的动机internal =true是我的包中函数的某些变量的默认值。我想使用一些数组作为默认值,并且我的包的用户不需要这个默认值,因此我认为该数组应该包含在我的包中作为internal =TRUE. 这种态度正确吗?

R 说使用usethis::use_data()而不是devtools::use_data(). 为什么 ???

REF: R包:写入内部数据,但不是一次全部

0 投票
1 回答
23 浏览

php - Composer Require 然后将服务注入 Laravel 应用程序而不离开 laravel 命令行

所以我正在制作一个 Laravel 工匠命令。在该命令中,我为一个包运行“composer require”。我正在尝试找到一种方法来使用我需要的那个包而不离开我所在的当前命令。

我想像自动加载文件时那样临时将命名空间添加到 Laravel。

所以我的第一个问题是如何在 Artisan Command 中使用下面的代码?由于应用程序无法在工匠命令中自动访问。

我的第二个问题。假设我让上面的代码在 Artisan 命令中正常工作,那会不稳定吗?我应该在作曲家要求之后再做一个工匠命令吗?

任何意见,将不胜感激。

0 投票
0 回答
366 浏览

r - 在第二次执行中消失的一些错误

代码R CMD check检测到文件中未明确显示的一些错误00check.log。我通过 R Studio 的控制台运行了可疑的 R 代码,然后启动了以下警告消息。但我无法理解这意味着什么或如何克服。当我再次执行它时,这些消息消失了。

相似地,

如果我执行devtools::load_all("."),则会出现以下警告。第二次执行devtools::load_all("."),警告消失。我认为这会导致R CMD check PkgPath.

参考: 简单的 if-else 代码执行后,R-studio 服务器返回错误

0 投票
1 回答
712 浏览

laravel - 如何在 Laravel 包开发中自动加载服务提供者

我正在尝试开发一个非常简单的 Laravel 包用于学习目的。Hello World当我调用/demo路由时,我想显示一条简单的消息,例如“ ”。我已经使用以下命令在 Laravel 项目中安装了我的包:

接着,

现在,我无法访问/demo路线。我得到错误:

抱歉,找不到您要查找的页面。

我注意到boot方法MessageServiceProvider没有被触发。我需要手动添加此服务提供商config/app.php还是需要手动添加某些内容?但我想在安装后自动完成所有操作。这是我在 github 中的包:https ://github.com/rejauldu/message

0 投票
0 回答
307 浏览

laravel - 如何在 Laravel 包中发布和注册额外的服务提供者

我想发布一个额外的服务提供者App/Providers/,然后注册它。问题是我应该在函数中注册它,register()而我应该在函数中发布它boot()。我应该如何做到这一点?

这是我要做什么以及如何发布它:

如果发布得当,我大概会这样注册它:

需要说明的是,这个服务提供者不是包的主要服务提供者,默认不在项目中,应该先发布。

0 投票
0 回答
70 浏览

r - .Rproj 文件从 R CMD CHECK 环境中的项目目录中消失

我正在开发一个读取/检查用户文件结构的 R 包。.Rproj包中的一些函数检查给定目录中是否存在文件。

我已经使用 为其中一个函数编写了一个测试testthat,但我遇到了一个问题,导致我的测试一直失败。

我有一个文件夹,tests/testthat其中包含一个由.Rproj文件、一个.Rmd和一个html输出文件组成的项目。当我尝试使用 以交互方式在控制台中访问文件夹时fs::dir_ls,所有三个文件都按预期显示,但在运行时R CMD CHECK,我只看到.Rmdhtml. 文件似乎消失得.Rproj无影无踪。

这是我运行的代码:

==== 交互式(控制台)====

fs::dir_ls("tests/testthat/project_noob")

输出:

tests/testthat/project_noob/project_noob.Rproj tests/testthat/project_noob/simple.Rmd tests/testthat/project_noob/simple.html

==== R CMD 检查 ====

dir <- test_path("project_noob")
fs::dir_ls(dir)

输出:

project_noob/simple.Rmd
project_noob/simple.html

有谁知道这可能是为什么?R CMD CHECK隐藏.Rproj文件的测试环境有什么问题吗?有没有办法取消隐藏它们?

0 投票
0 回答
396 浏览

r - 包反向依赖检查(尤其是在 Windows 上)

我想听听这些天人们如何在 Windows 上进行反向依赖检查。

在 Windows 上使用 CRAN Repository Policy [1] 建议的“官方”但实验性功能tools::check_packages_in_dir()时,会根据其来源检查反向依赖关系,即所有内容都将被编译。即使对于相对较少的依赖项/建议的包,这也可能需要很长时间。其次,这不是很方便,因为我在这个过程中遇到了很多丢失的包,所以测试错误,我需要安装丢失的包并重新开始......

我曾经使用devtools::revdep_check它很方便,因为它使用 Windows 二进制文件进行检查,因此没有时间花在编译上,而且总体上提供了很好的处理。但是,在 2.0 版中决定此功能不再存在于内部devtools,而是应移动到专用包(通过中间包revdepcheck使用),该包在 CRAN 上尚不可用,也未构建在其开发存储库中. 这种实际上已经失效的状态似乎已经持续了一年多(最近才在开发一些新活动)。devtoolsuse_thisdevtoolsrevdepcheck

(编辑:我还应该提到,devtools在删除反向依赖检查功能之前使用一个版本似乎会给出任意错误,因此这似乎也不是一个选项。)

我没有发现任何其他似乎可行的方法。所以我想知道,这些天如何在基于 Windows 的机器上正确有效地检查反向依赖关系?

[1] https://cran.r-project.org/web/packages/policies.html

0 投票
0 回答
108 浏览

r - 是否有“正确”的方式在 R 包内部使用导出的数据?

我知道导出的数据(对用户的访问)属于data/文件夹,而内部数据(包函数内部使用的数据)属于R/sysdata.rda. 但是,我希望既导出给用户又可以在内部供包函数使用的数据呢?

目前,大概是由于对象/数据添加到的顺序NAMESPACE,我导出的数据在此期间不可用,devtools::check()并且我收到一个 NOTE: no visible binding for global variable 'data_x'

可能有六种方法可以解决这个问题,其中许多在我看来相当老套,所以我想知道是否有一种“正确”的方法来同时拥有外部和内部数据(并避免来自 的注释R CMD check)。

到目前为止,我看到了这些选项:

  • 编写一个内部函数来调用数据并在内部各处使用它
  • 使用 ':::' 访问数据;这看起来很奇怪,并引发了不同的警告
  • data_x在 BOTHdata/ R/sysdata.rda(super hacky)中都有一份副本
  • 克服它并忽略NOTE

非常感谢任何建议,谢谢。

0 投票
2 回答
788 浏览

laravel-7 - Laravel 包开发:未找到外观别名

我尝试为 Laravel 7 包中的外观创建别名。

在测试时,我收到消息:

错误:找不到类“MemberRequest”

测试:

我做了以下步骤:

  • 创建一个外观(从 Laravel Illuminate 扩展外观类
  • 在服务提供者中注册
  • 将别名添加到配置文件
  • 将别名添加到 composer.json 文件

创建立面:

在 serviceProvider 中注册:

将其添加到配置文件中:

将其添加到 composer.json:

0 投票
4 回答
2304 浏览

laravel-7 - 如何在包开发中使用 Laravel/sanctum

我尝试在自定义 Laravel 包中使用 Laravel/Sanctum。就像在默认的 Laravel 应用程序中一样,我将它添加到了 composer 文件中,添加了迁移并在路由文件中进行了设置。

出现下一条错误消息:

“未定义授权守卫[圣所]。”

我希望甚至可以在另一个包中使用圣所?

Composer.json 文件:

路线文件:

服务提供者