8 Tools
The behavior of R CMD check
can be controlled through a variety of command line arguments and environment variables.
There is an internal --install=value
command line argument not shown by R CMD check --help
, with possible values
check:file
-
Assume that installation was already performed with stdout/stderr to
file
, the contents of which need to be checked (without repeating the installation). This is useful for checks applied by repository maintainers: it reduces the check time by the installation time given that the package has already been installed. In this case, one also needs to specify where the package was installed to using command line option--library
. fake
-
Fake installation, and turn off the run-time tests.
skip
-
Skip installation, e.g., when testing recommended packages bundled with R.
no
-
The same as
--no-install
: turns off installation and the tests which require the package to be installed.
The following environment variables can be used to customize the operation of check
: a convenient place to set these is the check environment file (default, ~/.R/check.Renviron
).
_R_CHECK_ALL_NON_ISO_C_
¶-
If true, do not ignore compiler (typically GCC) warnings about non ISO C code in system headers. Note that this may also show additional ISO C++ warnings. Default: false.
_R_CHECK_FORCE_SUGGESTS_
¶-
If true, give an error if suggested packages are not available. Default: true (but false for CRAN submission checks).
_R_CHECK_RD_CONTENTS_
¶-
If true, check
Rd
files for auto-generated content which needs editing, and missing argument documentation. Default: true. _R_CHECK_RD_LINE_WIDTHS_
¶-
If true, check
Rd
line widths in usage and examples sections. Default: false (but true for CRAN submission checks). _R_CHECK_RD_STYLE_
¶-
If true, check whether
Rd
usage entries for S3 methods use the full function name rather than the appropriate\method
markup. Default: true. _R_CHECK_RD_XREFS_
¶-
If true, check the cross-references in
.Rd
files. Default: true. _R_CHECK_SUBDIRS_NOCASE_
¶-
If true, check the case of directories such as
R
andman
. Default: true. _R_CHECK_SUBDIRS_STRICT_
¶-
Initial setting for
--check-subdirs
. Default:default
(which checks only tarballs, and checks in thesrc
only if there is noconfigure
file). _R_CHECK_USE_CODETOOLS_
¶-
If true, make use of the codetools package, which provides a detailed analysis of visibility of objects (but may give false positives). Default: true (if recommended packages are installed).
_R_CHECK_USE_INSTALL_LOG_
¶-
If true, record the output from installing a package as part of its check to a log file (
00install.out
by default), even when running interactively. Default: true. _R_CHECK_VIGNETTES_NLINES_
¶-
Maximum number of lines to show from the bottom of the output when reporting errors in running or re-building vignettes. ( Value
0
means all lines will be shown.) Default: 10 for running, 25 for re-building. _R_CHECK_CODOC_S4_METHODS_
¶-
Control whether
codoc()
testing is also performed on S4 methods. Default: true. _R_CHECK_DOT_INTERNAL_
¶-
Control whether the package code is scanned for
.Internal
calls, which should only be used by base (and occasionally by recommended) packages. Default: true. _R_CHECK_EXECUTABLES_
¶-
Control checking for executable (binary) files. Default: true.
_R_CHECK_EXECUTABLES_EXCLUSIONS_
¶-
Control whether checking for executable (binary) files ignores files listed in the package’s
BinaryFiles
file. Default: true (but false for CRAN submission checks). However, most likely this package-level override mechanism will be removed eventually. _R_CHECK_PERMISSIONS_
¶-
Control whether permissions of files should be checked. Default: true iff
.Platform$OS.type == "unix"
. _R_CHECK_FF_CALLS_
¶-
Allows turning off
checkFF()
testing. If set toregistration
, checks the registration information (number of arguments, correct choice of.C/.Fortran/.Call/.External
) for such calls provided the package is installed. Default: true. _R_CHECK_FF_DUP_
¶-
Controls
checkFF(check_DUP)
Default: true (and forced to be true for CRAN submission checks). _R_CHECK_LICENSE_
¶-
Control whether/how license checks are performed. A possible value is
maybe
(warn in case of problems, but not about standardizable non-standard license specs). Default: true. _R_CHECK_RD_EXAMPLES_T_AND_F_
¶-
Control whether
check_T_and_F()
also looks for “bad” (global)T
/F
uses in examples. Off by default because this can result in false positives. _R_CHECK_RD_CHECKRD_MINLEVEL_
¶-
Controls the minimum level for reporting warnings from
checkRd()
. Default: -1. _R_CHECK_RD_NOTE_LOST_BRACES_
¶-
Control whether some of the “lost braces” that
checkRd()
finds in LaTeX-like Rd contexts are reported (by raising their warning level to -1). This will often detect missing initial backslashes for Rd macros, unescaped in-text set braces, and\describe
-style\item{label}{desc}
entries within\itemize
. Default: true. _R_CHECK_RD_ALLOW_EMPTY_ITEM_IN_DESCRIBE_
¶-
Control whether empty items inside
\describe
are allowed without a warning. This is a temporary stop gap measure meant to support legacy packages, and is likely to be removed in future versions of R. Default: false. _R_CHECK_XREFS_REPOSITORIES_
¶-
If set to a non-empty value, a space-separated list of repositories to use to determine known packages. Default: empty, when the CRAN and Bioconductor repositories known to R is used.
_R_CHECK_SRC_MINUS_W_IMPLICIT_
¶-
Control whether installation output is checked for compilation warnings about implicit function declarations (as spotted by GCC with command line option
-Wimplicit-function-declaration
, which is implied by-Wall
). NB: implicit function declarations are errors in some recent C compilers, including Appleclang
. Default: true from R 4.2.0, previously false. _R_CHECK_SRC_MINUS_W_UNUSED_
¶-
Control whether installation output is checked for compilation warnings about unused code constituents (as spotted by GCC with command line option
-Wunused
, which is implied by-Wall
). Default: true. _R_CHECK_WALL_FORTRAN_
¶-
Control whether GFortran 4.0 or later
-Wall
warnings are used in the analysis of installation output. Default: false, even though the warnings are justifiable. _R_CHECK_ASCII_CODE_
¶-
If true, check R code for non-ascii characters. Default: true.
_R_CHECK_ASCII_DATA_
¶-
If true, check data for non-ascii characters. En route, checks that all the datasets can be loaded and that their components can be accessed. Default: true.
_R_CHECK_COMPACT_DATA_
¶-
If true, check data for ascii and uncompressed saves, and also check if using
bzip2
orxz
compression would be significantly better. Default: true. _R_CHECK_SKIP_ARCH_
¶-
Comma-separated list of architectures that will be omitted from checking in a multi-arch setup. Default: none.
_R_CHECK_SKIP_TESTS_ARCH_
¶-
Comma-separated list of architectures that will be omitted from running tests in a multi-arch setup. Default: none.
_R_CHECK_SKIP_EXAMPLES_ARCH_
¶-
Comma-separated list of architectures that will be omitted from running examples in a multi-arch setup. Default: none.
_R_CHECK_VC_DIRS_
¶-
Should the unpacked package directory be checked for version-control directories (
CVS
,.svn
…)? Default: true for tarballs. _R_CHECK_PKG_SIZES_
¶-
Should
du
be used to find the installed sizes of packages?R CMD check
does check for the availability ofdu
. but this option allows the check to be overruled if an unsuitable command is found (including one that does not respect the-k
flag to report in units of 1Kb, or reports in a different format – the GNU, macOS and Solarisdu
commands have been tested). Default: true ifdu
is found. _R_CHECK_PKG_SIZES_THRESHOLD_
¶-
Threshold used for
_R_CHECK_PKG_SIZES_
(in Mb). Default: 5 _R_CHECK_DOC_SIZES_
¶-
Should
qpdf
be used to check the installed sizes of PDFs? Default: true ifqpdf
is found. _R_CHECK_DOC_SIZES2_
¶-
Should
gs
be used to check the installed sizes of PDFs? This is slower than (and in addition to) the previous check, but does detect figures with excessive detail (often hidden by over-plotting) or bitmap figures with too high a resolution. Requires thatR_GSCMD
is set to a valid program, orgs
(or on Windows,gswin32.exe
orgswin64c.exe
) is on the path. Default: false (but true for CRAN submission checks). _R_CHECK_ALWAYS_LOG_VIGNETTE_OUTPUT_
¶-
By default the output from running the R code in the vignettes is kept only if there is an error. This also applies to the
build_vignettes.log
log from the re-building of vignettes. Default: false. _R_CHECK_CLEAN_VIGN_TEST_
¶-
Should the
vign_test
directory be removed if the test is successful? Default: true. _R_CHECK_REPLACING_IMPORTS_
¶-
Should warnings about replacing imports be reported? These sometimes come from auto-generated
NAMESPACE
files in other packages, but most often from importing the whole of a namespace rather than usingimportFrom
. Default: true. _R_CHECK_UNSAFE_CALLS_
¶-
Check for calls that appear to tamper with (or allow tampering with) already loaded code not from the current package: such calls may well contravene CRAN policies. Default: true.
_R_CHECK_TIMINGS_
¶-
Optionally report timings for installation, examples, tests and running/re-building vignettes as part of the check log. The format is
[as/bs]
for the total CPU time (including child processes)a
and elapsed timeb
, except on Windows, when it is[bs]
. In most cases timings are only given forOK
checks. Times with an elapsed component over 10 mins are reported in minutes (with abbreviationm
). The value is the smallest numerical value in elapsed seconds that should be reported: non-numerical values indicate that no report is required, a value of0
that a report is always required. Default:""
. (10
for CRAN checks unless set in the environment.) _R_CHECK_EXAMPLE_TIMING_THRESHOLD_
¶-
If timings are being recorded, set the threshold in seconds for reporting long-running examples (either user+system CPU time or elapsed time). Default:
"5"
. _R_CHECK_EXAMPLE_TIMING_CPU_TO_ELAPSED_THRESHOLD_
¶-
For checks with timings enabled, report examples where the ratio of CPU time to elapsed time exceeds this threshold (and the CPU time is at least one second). This can help detect the simultaneous use of multiple CPU cores. Default:
NA
. _R_CHECK_TEST_TIMING_CPU_TO_ELAPSED_THRESHOLD_
¶-
Report for running an individual test if the ratio of CPU time to elapsed time exceeds this threshold (and the CPU time is at least one second). Not supported on Windows. Default:
NA
. _R_CHECK_VIGNETTE_TIMING_CPU_TO_ELAPSED_THRESHOLD_
¶-
Report if when running/re-building vignettes (individually or in aggregate) the ratio of CPU time to elapsed time exceeds this threshold (and the CPU time is at least one second). Not supported on Windows. Default:
NA
. _R_CHECK_INSTALL_TIMING_CPU_TO_ELAPSED_THRESHOLD_
¶-
Report if for installation the ratio of CPU time to elapsed time exceeds this threshold (and the CPU time is at least one second). Not supported on Windows, only uses if
_R_CHECK_TIMINGS_
is set Default:NA
. _R_CHECK_CODETOOLS_PROFILE_
¶-
A string with comma-separated
name=value
pairs (withvalue
a logical constant) giving additional arguments for the codetools functions used for analyzing package code. E.g., use_R_CHECK_CODETOOLS_PROFILE_="suppressLocalUnused=FALSE"
to turn off suppressing warnings about unused local variables. Default: no additional arguments, corresponding to usingskipWith = TRUE
,suppressPartialMatchArgs = FALSE
andsuppressLocalUnused = TRUE
. _R_CHECK_CRAN_INCOMING_
¶-
Check whether package is suitable for publication on CRAN. Default: false, except for CRAN submission checks.
_R_CHECK_CRAN_INCOMING_REMOTE_
¶-
Include checks that require remote access among the above. Default: same as
_R_CHECK_CRAN_INCOMING_
_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_
¶-
When checking anchored Rd xrefs, use Rd aliases from the CRAN package web areas in addition to those in the packages installed locally. Default: false.
_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_
¶-
Make the checks of compiled code more accurate by recording the symbol tables for objects (
.o
files) at installation in a filesymbols.rds
. (Only currently supported on Linux, Solaris, macOS, Windows and FreeBSD.) Default: true. _R_CHECK_CODE_ASSIGN_TO_GLOBALENV_
¶-
Should the package code be checked for assignments to the global environment? Default: false (but true for CRAN submission checks).
_R_CHECK_CODE_ATTACH_
¶-
Should the package code be checked for calls to
attach()
? Default: false (but true for CRAN submission checks). _R_CHECK_CODE_DATA_INTO_GLOBALENV_
¶-
Should the package code be checked for calls to
data()
which load into the global environment? Default: false (but true for CRAN submission checks). _R_CHECK_DOT_FIRSTLIB_
¶-
Should the package code be checked for the presence of the obsolete function
.First.lib()
? Default: false (but true for CRAN submission checks). _R_CHECK_DEPRECATED_DEFUNCT_
¶-
Should the package code be checked for the presence of recently deprecated or defunct functions (including completely removed functions). Also for platform-specific graphics devices. Default: false (but true for CRAN submission checks).
_R_CHECK_SCREEN_DEVICE_
¶-
If set to
warn
, give a warning if examples etc open a screen device. If set tostop
, give an error. Default: empty (butstop
for CRAN submission checks). _R_CHECK_WINDOWS_DEVICE_
¶-
If set to
stop
, give an error if a Windows-only device is used in example etc. This is only useful on Windows: the devices do not exist elsewhere. Default: empty (butstop
for CRAN submission checks on Windows). _R_CHECK_TOPLEVEL_FILES_
¶-
Report on top-level files in the package sources that are not described in ‘Writing R Extensions’ nor are commonly understood (like
ChangeLog
). Variations on standard names (e.g.COPYRIGHT
) are also reported. Default: false (but true for CRAN submission checks). _R_CHECK_GCT_N_
¶-
Should the
--use-gct
usegctorture2(n)
rather thangctorture(TRUE)
? Use a positive integer to enable this. Default:0
. _R_CHECK_LIMIT_CORES_
¶-
If set, check the usage of too many cores in package parallel. If set to
warn
gives a warning, tofalse
orFALSE
the check is skipped, and any other non-empty value gives an error when more than 2 children are spawned. Default: unset (butTRUE
for CRAN submission checks). _R_CHECK_CODE_USAGE_VIA_NAMESPACES_
¶-
If set, check code usage (via package codetools) directly on the package namespace without loading and attaching the package and its suggests and enhances. Default: true (and true for CRAN submission checks).
_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_
¶-
If set, check code usage (via package codetools) with only the base package attached. Default: true.
_R_CHECK_EXIT_ON_FIRST_ERROR_
¶-
If set to a true value, the check will exit on the first error. Default: false.
_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_
¶-
If set to a true value, report already registered S3 methods in base/recommended packages which are overwritten when this package’s namespace is loaded. Default: false (but true for CRAN submission checks).
_R_CHECK_TESTS_NLINES_
¶-
Number of trailing lines of test output to reproduce in the log. If
0
all lines except the R preamble are reproduced. Default: 13. _R_CHECK_NATIVE_ROUTINE_REGISTRATION_
¶-
If set to a true value, report if the entry points to register native routines and to suppress dynamic search are not found in a package’s DLL. (NB: this requires system command
nm
to be on thePATH
. On Windows,objdump.exe
is first searched for in compiler toolchain specified viaMakeconf
(can be customized by environment variableBINPREF
). If not found there, it must be on thePATH
. On Unix this would be normal when using a package with compiled code (which are the only ones this checks), but Windows’ users should check. Default: false (but true for CRAN submission checks). _R_CHECK_NO_STOP_ON_TEST_ERROR_
¶-
If set to a true value, do not stop running tests after first error (as if command line option
--no-stop-on-test-error
had been given). Default: false (but true for CRAN submission checks). _R_CHECK_PRAGMAS_
¶-
Run additional checks on the pragmas in C/C++ source code and headers. Default: false (but true for CRAN submission checks).
_R_CHECK_COMPILATION_FLAGS_
¶-
If the package is installed and has C/C++/Fortran code, check the install log for non-portable flags (for example those added to
src/Makevars
during configuration). Currently-W
flags are reported, except-Wall
,-Wextra
and-Weverything
, and flags which appear to be attempts to suppress warnings are highlighted. See Writing portable packages in Writing R Extensions for the rationale of this check (and why even-Werror
is unsafe).Environment variable
_R_CHECK_COMPILATION_FLAGS_KNOWN_
can be set to a space-separated set of flags which come from the R build used for testing (flags such as-Wall
and-Wextra
are already known). For example, for CRAN builds of R >= 4.0.0 on macOS one could use="-mmacosx-version-min=10.13" _R_CHECK_COMPILATION_FLAGS_KNOWN_
Default: unset.
_R_CHECK_R_DEPENDS_
¶-
Check that any dependence on R is not on a recent patch-level version such as
R (>= 3.3.3)
since blocking installation of a package will also block its reverse dependencies. Possible values"note"
,"warn"
and logical values (where currently true values are equivalent to"note"
). Default: false (but"warn"
for--as-cran
). _R_CHECK_SERIALIZATION_
¶-
Check that serialized R objects in the package sources were serialized with version 2 and there is no dependence on
R >= 3.5.0
. (Version 3 is in use as from R 3.5.0 but should only be used when necessary.) Default: false (but true for CRAN submission checks). _R_CHECK_R_ON_PATH_
¶-
This checks if the package attempts to use
R
orRscript
from the path rather than that under test. It does so by putting scripts at the head of the path which print a message and fail. Default: false (but true for CRAN submission checks). _R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_
¶-
If set to a true value, also check the R code in common unit test subdirectories of
tests
for undeclared package dependencies. Default: false (but true for CRAN submission checks). _R_CHECK_SHLIB_OPENMP_FLAGS_
¶-
Check correct and portable use of
SHLIB_OPENMP_*FLAGS
insrc/Makevars
(and similar). Default: false (but true for CRAN submission checks). _R_CHECK_CONNECTIONS_LEFT_OPEN_
¶-
When checking examples, check for each example if connections are left open: if any are found, this is reported with a fatal error. NB: ‘connections’ includes most use of files and any parallel clusters which have not be stopped by
stopCluster()
. Default: false (but true for CRAN submission checks). _R_CHECK_FUTURE_FILE_TIMESTAMPS_
¶-
Check if any of the input files has a timestamp in the future (and to do so, checks that the system clock is correct to within 5 minutes). Default: false (but true for CRAN submission checks).
_R_CHECK_LENGTH_1_CONDITION_
¶-
No longer in use: conditions of length greater than one in
if
orwhile
statements are now an error. _R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_
¶-
Should running the R code in the vignettes be skipped if vignette outputs are to be rebuilt (which will involve running that code). Default: true.
_R_CHECK_BUILD_VIGNETTES_SEPARATELY_
¶-
Prior to R 3.6.0, re-building the vignette outputs was done in a single R session which allowed accidental reliance of one vignette on another (for example, in the loading of packages). The current default is to use a separate session for each vignette; this option allows testing the older behaviour, Default: true.
_R_CHECK_SYSTEM_CLOCK_
¶-
As part of the ‘checking for future file timestamps’ enabled by
--as-cran
, check the system clock against an external clock to catch errors such as the wrong day or even year. Not necessary on systems doing repeated checks. Default: true (but false for CRAN checking). _R_CHECK_AUTOCONF_
¶-
For packages with a
configure
file generated by GNUautoconf
and eitherconfigure.ac
orconfigure,.in
, check thatautoreconf
can, if available, be run in a copy of the sources (this will detect missing source files and reportautoconf
warnings). Environment variableAUTORECONF
controls the command used: it can give the full path toautoreconf
(without spaces) and can include flags such as--warnings=obsolete
(which is added forautoreconf
version 2.68 or 2.69 and is the default for later versions). Default: false (but true for CRAN submission checks). _R_CHECK_DATALIST_
¶-
Check whether file
data/datalist
is out-of-date. Default: false (but true for CRAN submission checks). _R_CHECK_THINGS_IN_CHECK_DIR_
¶-
Check and report at the end of the check run if files have been left in the check directory. Default: false (but true for CRAN submission checks).
_R_CHECK_THINGS_IN_TEMP_DIR_
¶-
Check and report at the end of the check run if files would have been left in the temporary directory (usually
/tmp
on a Unix-alike). It does this by setting the environment variableTEMPDIR
to a subdirectory of the R session directory for thecheck
process: if any files or directories are left there they are removed. Since some of these might be out of the user’s control, environment variable_R_CHECK_THINGS_IN_TEMP_DIR_EXCLUDE_
can specify an (extended regex) pattern of file paths not to be reported – CRAN uses^ompi.
for directories left behind by OpenMPI. There are rare instances whereTEMPDIR
is not respected and so files are left in/tmp
(and not reported, but see the next item): one example is/tmp/boost_interprocess
on some OSes. Default: false (but true for CRAN submission checks). _R_CHECK_THINGS_IN_OTHER_DIRS_
¶-
Check and report at the end of the check run if new files or directories are created in a selected set of directories during the check run. (This is confined to files owned by the user running the check process.) Currently the directories monitored are the home directory,
/tmp
(excludingRtmpXXXXXX
directories),/dav/shm
,~/.cache
(recursively) and~/.local/share
(recursively) or their equivalents on Windows and macOS (the directories in which the default settings fortools::R_user_dir()
use aR
subdirectory). Additional directories can be specified in environment variable_R_CHECK_THINGS_IN_OTHER_DIRS_XTRA_
, separated by semicolons. Directories are reported with a trailing/
on all platforms.Environment variable
_R_CHECK_THINGS_IN_OTHER_DIRS_EXCLUDE_
can specify an (extended regex) pattern of file paths not to be reported – this should match absolute file paths with home represented by~
. For example, on a Linux system'^~/.cache/(mozilla/firefox|mesa_shader_cache)/'
matches cache directories used by Firefox and OpenGL (and their content). If the value starts with
@
it is considered as a filepath which is read with each line treated as a pattern to be matched.Note that other processes (include check runs in parallel) may create new files in these directories which will get reported. However, this optional check is very useful for narrowing down possible packages which are leaving behind unexpected files. Default: false
_R_CHECK_BASHISMS_
¶-
Check the top-level scripts
configure
(unless generated byautoconf
) andcleanup
for non-Bourne-shell code, using the Perl scriptcheckbashisms
if available. This includes reporting scripts using the non-portable#! /bin/bash
. (Scriptcheckbashisms
is available in most Linux distributions in a package named eitherdevscripts
ordevscripts-checkbashisms
and from https://sourceforge.net/projects/checkbaskisms/files.) Default: false (but true for CRAN submission checks except on Windows). _R_CHECK_ORPHANED_
¶-
Check if dependencies are orphaned packages. As from R 4.1.0 this checks strict dependencies recursively, so will report any orphaned packages which are needed to attach the package by
library()
as well as any orphaned packages which are suggested. Default: false (but true for CRAN submission checks). _R_CHECK_EXCESSIVE_IMPORTS_
¶-
A positive integer. If set, give a NOTE if the number of imports from non-base packages exceed this threshold. Large numbers of imports make a package vulnerable to any of them becoming unavailable. Default: unset (but 20 for CRAN submission checks)
_R_CHECK_DONTTEST_EXAMPLES_
¶-
If true and examples are found with
\donttest
sections, the tests are run in one pass with these commented out and then in a second pass including the\donttest
sections, (for the main architecture only). Only for the first pass are the results compared to any.Rout.save
file and timings analysed. Overridden by--run-donttest
. Default: false unless--as-cran
is specified (which can be overridden by setting_R_CHECK_DONTTEST_EXAMPLES_=false
). _R_CHECK_XREFS_PKGS_ARE_DECLARED_
¶-
Check if packages used in ‘anchored’ cross-references in
.Rd
files (those of the form\link[pkg]{foo}
and\link[pkg:bar]{foo}
) are declared in theDESCRIPTION
file and so these links can be checked. Default: false. _R_CHECK_XREFS_MIND_SUSPECT_ANCHORS_
¶-
Check if package-anchored Rd cross-references are to files (and not aliases). Default: false.
_R_CHECK_BOGUS_RETURN_
¶-
If true and
_R_CHECK_USE_CODETOOLS_
is also true, functions are scanned for use ofreturn
rather thanreturn()
. Default: false (but true for CRAN submission checks). _R_CHECK_MATRIX_DATA_
¶-
By default, the check for a mismatch between the data length and the dimensions in a call to
matrix
gives a warning: setting this to a true value gives an error with a compact traceback. Default: false (but true for CRAN submission checks). _R_CHECK_CODE_CLASS_IS_STRING_
¶-
Check if package code has
if()
condition which compare the class of an object to a string. See https://blog.r-project.org/2019/11/09/when-you-think-class.-think-again/ why this is a bad idea. Default: false (but true for CRAN submission checks). _R_CHECK_RD_VALIDATE_RD2HTML_
¶-
Check the validity of the package HTML help pages using HTML Tidy (https://www.html-tidy.org/) (if a suitable version is available on the system path for executables or its path is specified by environment variable
R_TIDYCMD
). macOS users are advised to install 5.8.0 or later from https://binaries.html-tidy.org/. Default: false (but true for CRAN submission checks).--as-cran
can be overridden by setting this variable to a false value. _R_CHECK_RD_MATH_RENDERING_
¶-
Check whether HTML math rendering via KaTeX works (if package V8 is available). See https://blog.r-project.org/2022/04/08/enhancements-to-html-documentation/. Default: false (but true for CRAN submission checks).
_R_CHECK_NEWS_IN_PLAIN_TEXT_
¶-
Check whether
news()
can successfully read package news in plain text (fileNEWS
) format. Default: false (but true for CRAN submission checks). _R_WIN_CHECK_INVALID_PARAMETERS_
¶-
Check whether arguments passed to the Windows C runtime are valid. When enabled and a C runtime function is called with an invalid parameter, R prints diagnostic information and unconditionally terminates. By default, R for Windows following MinGW-W64 default causes UCRT to ignore invalid parameters, but they may cause R to abort e.g. when R is embedded into applications built with a different compiler toolchain. One may set the value to
"watson"
for interactive debugging on Windows via_invoke_watson
. Default: disabled. _R_CHECK_BROWSER_NONINTERACTIVE_
¶-
If set to a true value, trap non-interactive debugger invocations. These are most likely caused by leftover
browser()
statements in package code. Default: unset (but true for CRAN submission checks). _R_CHECK_URLS_SHOW_301_STATUS_
¶-
If set to a true value, checking URLs show check status 301 for HTTP response status code “301 Moved Permanently”. Default: false (but true for CRAN submission checks).
_R_CHECK_UNDOC_USE_ALL_NAMES_
¶-
If set to a true value, checking for undocumented objects does not ignore objects with names starting with a dot (which prior to the advent of namespaces conventionally were considered as “internal”). Default: false (but true for CRAN submission checks).
_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_
¶-
If set to a true value, checking S3 methods also notes “possible issues”, including issues with apparent methods not registered and methods registered for non-generics. Default: false (but true for CRAN submission checks).
_R_CHECK_MBCS_CONVERSION_FAILURE_
¶-
If set to a non-empty value, makes warnings from
pdf()
andpostscript()
about conversion failures from an MBCS (usually UTF-8) into errors. Unless the value issilent
, when the warnings are suppressed. Default: unset (but true for CRAN submission checks). _R_CHECK_VALIDATE_UTF8_
¶-
If set to a non-empty value, makes installation warnings about non-UTF-8 strings in a package’s code (
R/.*R
) and help (man/*.Rd
) files into errors. On most platforms invalid bytes in these files get converted to escapes (seeiconv(sub = "byte")
), but on others these lead to installation failure. Default: unset (but true for CRAN submission checks). _R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_
¶-
If set to a true value, check whether Rd cross-references to targets not in the package itself or the base packages have package anchors. Default: false (but true for CRAN submission checks).
_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_
¶-
If false report the use of non-ASCII strings marked as UTF-8, Latin-1 or
"bytes"
as part ofchecking data for non-ASCII characters
. Non-ASCII strings of unknown encoding are always reported. Default: true, but false prior on R 4.5.0.
The following variables control checks for undeclared/unconditional use of other packages. They work by setting up a temporary library directory and setting .libPaths()
to just that and .Library
, so are only effective if additional packages are installed somewhere other than .Library
. The temporary library is populated by symbolic links1 to installed packages not also in .Library
.
1 under Windows, junction points, or copies if environment variable R_WIN_NO_JUNCTIONS
has a non-empty value.
_R_CHECK_INSTALL_DEPENDS_
¶-
If set to a true value and a test installation is to be done, this is done with a temporary library populated by all the Depends/Imports/LinkingTo packages. Default: false (but true for CRAN submission checks).
Note that this is actually implemented in
R CMD INSTALL
, so it is available to those who first install recording to a log, then callR CMD check
. _R_CHECK_SUGGESTS_ONLY_
¶-
If set to a true value, running examples, tests and vignettes is done with a temporary library directory populated by all the Depends/Imports/Suggests packages. (As exceptions, packages in a
VignetteBuilder
field are always made available.) Default: false (but true for CRAN submission checks: some of the regular checks use true and some use false). _R_CHECK_DEPENDS_ONLY_
¶-
As for
_R_CHECK_SUGGESTS_ONLY_
but using only Depends/Imports (and the exceptions, including test-suite managers inSuggests
). Default: false _R_CHECK_DEPENDS_ONLY_DATA_
¶-
Apply
_R_CHECK_DEPENDS_ONLY_
only to the check of loading from thedata
directory, so checks if any dataset depends on packages which are in Suggests or undeclared. Default: false (but true for CRAN submission checks)
_R_CHECK_DEPENDS_ONLY_EXAMPLES_
¶
_R_CHECK_DEPENDS_ONLY_TESTS_
¶
_R_CHECK_DEPENDS_ONLY_VIGNETTES_
¶
: Apply _R_CHECK_DEPENDS_ONLY_
only to the checking of examples, tests or vignettes. These can be used on their own, or with a false value to override _R_CHECK_DEPENDS_ONLY_
. Default: the value of _R_CHECK_DEPENDS_ONLY_
or false if that is unset.
_R_CHECK_NO_RECOMMENDED_
¶-
If set to a true value, augment the previous checks to make recommended packages unavailable unless declared (even if installed in
.Library
). Default: false (but true for CRAN submission checks).This may give false positives on code which uses
grDevices::densCols
andstats:::.asSparse
/stats:::.Diag
as these invoke KernSmooth and Matrix respectively. (Those in stats are called from various contrasts functions ifsparse = TRUE
is used.)
The CRAN submission checks use something like
=TRUE
_R_CHECK_CRAN_INCOMING_=TRUE
_R_CHECK_CRAN_INCOMING_REMOTE_=TRUE
_R_CHECK_VC_DIRS_=10
_R_CHECK_TIMINGS_=TRUE
_R_CHECK_INSTALL_DEPENDS_=TRUE
_R_CHECK_SUGGESTS_ONLY_=TRUE
_R_CHECK_NO_RECOMMENDED_=FALSE
_R_CHECK_EXECUTABLES_EXCLUSIONS_=TRUE
_R_CHECK_DOC_SIZES2_=TRUE
_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_=TRUE
_R_CHECK_CODE_ATTACH_=TRUE
_R_CHECK_CODE_DATA_INTO_GLOBALENV_=TRUE
_R_CHECK_CODE_USAGE_VIA_NAMESPACES_=TRUE
_R_CHECK_DOT_FIRSTLIB_=TRUE
_R_CHECK_DEPRECATED_DEFUNCT_=TRUE
_R_CHECK_REPLACING_IMPORTS_=stop
_R_CHECK_SCREEN_DEVICE_=TRUE
_R_CHECK_TOPLEVEL_FILES_=TRUE
_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_=TRUE
_R_CHECK_PRAGMAS_=TRUE
_R_CHECK_COMPILATION_FLAGS_=warn
_R_CHECK_R_DEPENDS_=TRUE
_R_CHECK_SERIALIZATION_=TRUE
_R_CHECK_R_ON_PATH_=TRUE
_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_=TRUE
_R_CHECK_SHLIB_OPENMP_FLAGS_=TRUE
_R_CHECK_CONNECTIONS_LEFT_OPEN_=TRUE
_R_CHECK_FUTURE_FILE_TIMESTAMPS_=true
_R_CHECK_AUTOCONF_=true
_R_CHECK_DATALIST_=true
_R_CHECK_THINGS_IN_CHECK_DIR_=true
_R_CHECK_THINGS_IN_TEMP_DIR_=true
_R_CHECK_BASHISMS_=true
_R_CHECK_ORPHANED_=true
_R_CHECK_BOGUS_RETURN_=TRUE
_R_CHECK_MATRIX_DATA_=true
_R_CHECK_CODE_CLASS_IS_STRING_=true
_R_CHECK_RD_VALIDATE_RD2HTML_=true
_R_CHECK_RD_MATH_RENDERING_=true
_R_CHECK_NEWS_IN_PLAIN_TEXT_=true
_R_CHECK_BROWSER_NONINTERACTIVE_=true
_R_CHECK_URLS_SHOW_301_STATUS_=true
_R_CHECK_UNDOC_USE_ALL_NAMES_=true
_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_=true
_R_CHECK_RD_NOTE_LOST_BRACES_=true _R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_
These are turned on by R CMD check --as-cran
: the incoming checks also use
=FALSE _R_CHECK_FORCE_SUGGESTS_
since some packages do suggest other packages not available on CRAN or other commonly-used repositories.
Several environment variables can be used to set ‘timeouts’: limits for the elapsed time taken by the sub-processes used for parts of the checks. A value of 0
indicates no limit, and is the default. Character strings ending in s
, m
or h
indicate a number of seconds, minutes or hours respectively: other values are interpreted as a whole number of seconds (with invalid inputs being treated as no limit).
_R_CHECK_ELAPSED_TIMEOUT_
¶-
The default timeout for sub-processes not otherwise mentioned, and the default value for all except
_R_CHECK_ONE_TEST_ELAPSED_TIMEOUT_
. (This is also used bytools::check_packages_in_dir
.) _R_CHECK_INSTALL_ELAPSED_TIMEOUT_
¶-
Limit for when
R CMD INSTALL
is run bycheck
. _R_CHECK_EXAMPLES_ELAPSED_TIMEOUT_
¶-
Limit for running all the examples for one sub-architecture.
_R_CHECK_ONE_TEST_ELAPSED_TIMEOUT_
¶-
Limit for running one test for one sub-architecture. Default
_R_CHECK_TESTS_ELAPSED_TIMEOUT_
. _R_CHECK_TESTS_ELAPSED_TIMEOUT_
¶-
Limit for running all the tests for one sub-architecture (and the default limit for running one test).
_R_CHECK_ONE_VIGNETTE_ELAPSED_TIMEOUT_
¶-
Limit for running the R code in one vignette, including for re-building each vignette separately.
_R_CHECK_BUILD_VIGNETTES_ELAPSED_TIMEOUT_
¶-
Limit for re-building all vignettes.
_R_CHECK_PKGMAN_ELAPSED_TIMEOUT_
¶-
Limit for each attempt at building the PDF package manual.
Another variable which enables stricter checks is to set R_CHECK_CONSTANTS
to 5
. This checks that nothing2 changes the values of ‘constants’3 in R code. This is best used in conjunction with setting R_JIT_STRATEGY
to 3
, which checks code on first use (by default most code is only checked after byte-compilation on second use). Unfortunately these checks slow down checking of examples, tests and vignettes, typically two-fold but in the worst cases at least a hundred-fold.
2 The usual culprits are calls to compiled code via .Call
or .External
which alter their arguments.
3 things which the byte compiler assumes do not change, e.g. function bodies.
The following environment variables can be used to customize the operation of INSTALL
.
_R_INSTALL_LIBS_ONLY_FORCE_DEPENDS_IMPORTS_
¶-
If true, give an error if installing only package libraries via
--libs-only
and some package imported or depended on is not available. Default: true (false only for special applications, which analyze native code of packages).
Footnotes