[R/gen_requirements_helpers.R:2:67:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L2) *style:* **Only use double-quotes.**
```r
read_package_lines_from_file = function(file_path, filter_words=c('::', 'library', 'require', 'p_load')) {
                                                                  ^~~~
```
[R/gen_requirements_helpers.R:2:73:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L2) *style:* **Only use double-quotes.**
```r
read_package_lines_from_file = function(file_path, filter_words=c('::', 'library', 'require', 'p_load')) {
                                                                        ^~~~~~~~~
```
[R/gen_requirements_helpers.R:2:84:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L2) *style:* **Only use double-quotes.**
```r
read_package_lines_from_file = function(file_path, filter_words=c('::', 'library', 'require', 'p_load')) {
                                                                                ^~~~~~~~~
```
[R/gen_requirements_helpers.R:2:95:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L2) *style:* **Only use double-quotes.**
```r
read_package_lines_from_file = function(file_path, filter_words=c('::', 'library', 'require', 'p_load')) {
                                                                                ^~~~~~~~
```
[R/gen_requirements_helpers.R:12:53:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L12) *style:* **Only use double-quotes.**
```r
  package_lines_re = paste(filter_words, collapse = '|')
                                                    ^~~
```
[R/gen_requirements_helpers.R:19:69:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L19) *style:* **Only use double-quotes.**
```r
read_package_lines_from_files = function(file_paths, filter_words=c('::', 'library', 'require', 'p_load')) {
                                                                    ^~~~
```
[R/gen_requirements_helpers.R:19:75:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L19) *style:* **Only use double-quotes.**
```r
read_package_lines_from_files = function(file_paths, filter_words=c('::', 'library', 'require', 'p_load')) {
                                                                          ^~~~~~~~~
```
[R/gen_requirements_helpers.R:19:86:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L19) *style:* **Only use double-quotes.**
```r
read_package_lines_from_files = function(file_paths, filter_words=c('::', 'library', 'require', 'p_load')) {
                                                                                ^~~~~~~~~
```
[R/gen_requirements_helpers.R:19:97:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L19) *style:* **Only use double-quotes.**
```r
read_package_lines_from_files = function(file_paths, filter_words=c('::', 'library', 'require', 'p_load')) {
                                                                                ^~~~~~~~
```
[R/gen_requirements_helpers.R:27:43:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L27) *warning:* **no visible binding for global variable ‘read_package_lines_from_file’**
```r
  package_lines_list = lapply(file_paths, read_package_lines_from_file)
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:58:52:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L58) *warning:* **no visible global function definition for ‘match_package’**
```r
  match_list = lapply(package_regexes, function(r) match_package(candidate_lines, r))
                                                   ^~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:90:51:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L90) *style:* **Only use double-quotes.**
```r
append_version_requirement = function(pkg, eq_sym='>=', rm_missing=FALSE) {
                                                  ^~~~
```
[R/gen_requirements_helpers.R:99:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L99) *style:* **Lines should not be more than 120 characters.**
```r
  #' @return Character vector of versioned package names; \code{NA} if package unavailable and \code{isTRUE(rm_missing)}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:100:17:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L100) *warning:* **no visible global function definition for ‘safe_package_version’**
```r
  pkg_version = safe_package_version(pkg)
                ^~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:107:14:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L107) *warning:* **no visible global function definition for ‘validate_eq_sym’**
```r
    eq_sym = validate_eq_sym(eq_sym)
             ^~~~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:115:62:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L115) *style:* **Only use double-quotes.**
```r
append_version_requirements = function(package_names, eq_sym='>=', rm_missing=FALSE) {
                                                             ^~~~
```
[R/gen_requirements_helpers.R:126:5:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L126) *warning:* **no visible global function definition for ‘append_version_requirement’**
```r
    append_version_requirement(p, eq_sym, rm_missing)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:133:68:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements_helpers.R#L133) *style:* **Only use double-quotes.**
```r
write_requirements_file = function(package_requirements, file_path='requirements.txt') {
                                                                   ^~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:35:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L35) *style:* **Lines should not be more than 120 characters.**
```r
#'   \item using a character vector to load; e.g. \code{pkg = 'testthat'; library(pkg, character.only = TRUE)} (will match \code{pkg} as package instead of \code{testthat})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:36:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L36) *style:* **Lines should not be more than 120 characters.**
```r
#'   \item using a string resembling a package load; e.g. \code{'library(fake.package)'} (will match \code{fake.package})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:51:45:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L51) *style:* **Only use double-quotes.**
```r
generate_requirements = function(glob_paths='*.R', output_path='requirements.txt', eq_sym='>=', rm_missing=FALSE) {
                                            ^~~~~
```
[R/gen_requirements.R:51:64:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L51) *style:* **Only use double-quotes.**
```r
generate_requirements = function(glob_paths='*.R', output_path='requirements.txt', eq_sym='>=', rm_missing=FALSE) {
                                                               ^~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:51:91:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L51) *style:* **Only use double-quotes.**
```r
generate_requirements = function(glob_paths='*.R', output_path='requirements.txt', eq_sym='>=', rm_missing=FALSE) {
                                                                                ^~~~
```
[R/gen_requirements.R:53:24:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L53) *warning:* **no visible global function definition for ‘read_package_lines_from_files’**
```r
  package_text_lines = read_package_lines_from_files(file_paths)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:55:22:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L55) *warning:* **no visible global function definition for ‘match_packages’, Did you mean 'matched_packages'?**
```r
  matched_packages = match_packages(package_text_lines, PACKAGE_RES)
                     ^~~~~~~~~~~~~~
```
[R/gen_requirements.R:55:57:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L55) *warning:* **no visible binding for global variable ‘PACKAGE_RES’**
```r
  matched_packages = match_packages(package_text_lines, PACKAGE_RES)
                                                        ^~~~~~~~~~~
```
[R/gen_requirements.R:58:32:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L58) *warning:* **no visible global function definition for ‘append_version_requirements’**
```r
  versioned_matched_packages = append_version_requirements(sorted_matched_packages, eq_sym, rm_missing)
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:60:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/gen_requirements.R#L60) *warning:* **no visible global function definition for ‘write_requirements_file’**
```r
  write_requirements_file(versioned_matched_packages, output_path)
  ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:25:7:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L25) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
      vmess(sprintf(INSTALL, url, ""), verbose)
      ^~~~~
```
[R/install_reqs.R:25:21:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L25) *warning:* **no visible binding for global variable ‘INSTALL’**
```r
      vmess(sprintf(INSTALL, url, ""), verbose)
                    ^~~~~~~
```
[R/install_reqs.R:30:36:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L30) *warning:* **no visible binding for global variable ‘OTHER_FAIL’**
```r
                   message(sprintf(OTHER_FAIL, url))
                                   ^~~~~~~~~~
```
[R/install_reqs.R:62:30:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L62) *warning:* **no visible global function definition for ‘get_available_versions’**
```r
        available_versions = get_available_versions(i)
                             ^~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:63:9:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L63) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
        vmess(sprintf(NOT_INSTALLED, i), verbose)
        ^~~~~
```
[R/install_reqs.R:63:23:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L63) *warning:* **no visible binding for global variable ‘NOT_INSTALLED’**
```r
        vmess(sprintf(NOT_INSTALLED, i), verbose)
                      ^~~~~~~~~~~~~
```
[R/install_reqs.R:65:9:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L65) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
        vmess(sprintf(INSTALL, i, sprintf(INSTALL_VERSION, version)), verbose)
        ^~~~~
```
[R/install_reqs.R:65:23:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L65) *warning:* **no visible binding for global variable ‘INSTALL’**
```r
        vmess(sprintf(INSTALL, i, sprintf(INSTALL_VERSION, version)), verbose)
                      ^~~~~~~
```
[R/install_reqs.R:65:43:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L65) *warning:* **no visible binding for global variable ‘INSTALL_VERSION’**
```r
        vmess(sprintf(INSTALL, i, sprintf(INSTALL_VERSION, version)), verbose)
                                          ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:70:38:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L70) *warning:* **no visible binding for global variable ‘OTHER_FAIL’**
```r
                     message(sprintf(OTHER_FAIL, i))
                                     ^~~~~~~~~~
```
[R/install_reqs.R:81:36:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L81) *warning:* **no visible binding for global variable ‘COMPS’**
```r
  comp = sub(paste0("^.*?(", paste(COMPS, collapse = "|"), ").*$"), "\\1", req)
                                   ^~~~~
```
[R/install_reqs.R:83:31:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L83) *warning:* **no visible binding for global variable ‘COMPS’**
```r
  split = strsplit(req, paste(COMPS, collapse = "|"))[[1]]
                              ^~~~~
```
[R/install_reqs.R:94:5:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L94) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
    vmess(sprintf(NOT_INSTALLED, package), verbose)
    ^~~~~
```
[R/install_reqs.R:94:19:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L94) *warning:* **no visible binding for global variable ‘NOT_INSTALLED’**
```r
    vmess(sprintf(NOT_INSTALLED, package), verbose)
                  ^~~~~~~~~~~~~
```
[R/install_reqs.R:97:23:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L97) *warning:* **no visible global function definition for ‘compare_version’, Did you mean 'compareVersion'?**
```r
    install_needed = !compare_version(installed[package], version, comp)
                      ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:114:27:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L114) *warning:* **no visible global function definition for ‘process_versioned_requirement’**
```r
      processed_element = process_versioned_requirement(i)
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:119:24:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L119) *warning:* **no visible global function definition for ‘is_versioned_install_needed’**
```r
      install_needed = is_versioned_install_needed(package, version, comp, installed, verbose)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:123:11:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L123) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
          vmess(sprintf(BAD_VERSION, package, installed[package]), verbose)
          ^~~~~
```
[R/install_reqs.R:123:25:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L123) *warning:* **no visible binding for global variable ‘BAD_VERSION’**
```r
          vmess(sprintf(BAD_VERSION, package, installed[package]), verbose)
                        ^~~~~~~~~~~
```
[R/install_reqs.R:126:30:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L126) *warning:* **no visible global function definition for ‘get_available_versions’**
```r
        available_versions = get_available_versions(package)
                             ^~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:136:11:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L136) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
          vmess(sprintf(NONE_EXISTS, package), verbose)
          ^~~~~
```
[R/install_reqs.R:136:25:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L136) *warning:* **no visible binding for global variable ‘NONE_EXISTS’**
```r
          vmess(sprintf(NONE_EXISTS, package), verbose)
                        ^~~~~~~~~~~
```
[R/install_reqs.R:148:40:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L148) *warning:* **no visible binding for global variable ‘OTHER_FAIL’**
```r
                       message(sprintf(OTHER_FAIL, i))
                                       ^~~~~~~~~~
```
[R/install_reqs.R:167:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L167) *style:* **Variable or function name should be snake_case.**
```r
  INSTALL = "Installing %s %s"
  ^~~~~~~
```
[R/install_reqs.R:167:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L167) *warning:* **local variable ‘INSTALL’ assigned but may not be used**
```r
  INSTALL = "Installing %s %s"
  ^~~~~~~
```
[R/install_reqs.R:168:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L168) *style:* **Variable or function name should be snake_case.**
```r
  INSTALL_VERSION = "at version %s"
  ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:168:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L168) *warning:* **local variable ‘INSTALL_VERSION’ assigned but may not be used**
```r
  INSTALL_VERSION = "at version %s"
  ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:169:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L169) *style:* **Variable or function name should be snake_case.**
```r
  NOT_INSTALLED = "NOTE: %s is not currently installed."
  ^~~~~~~~~~~~~
```
[R/install_reqs.R:169:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L169) *warning:* **local variable ‘NOT_INSTALLED’ assigned but may not be used**
```r
  NOT_INSTALLED = "NOTE: %s is not currently installed."
  ^~~~~~~~~~~~~
```
[R/install_reqs.R:170:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L170) *style:* **Variable or function name should be snake_case.**
```r
  BAD_VERSION = "NOTE: %s is current installed at version %s which is not sufficient."
  ^~~~~~~~~~~
```
[R/install_reqs.R:170:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L170) *warning:* **local variable ‘BAD_VERSION’ assigned but may not be used**
```r
  BAD_VERSION = "NOTE: %s is current installed at version %s which is not sufficient."
  ^~~~~~~~~~~
```
[R/install_reqs.R:171:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L171) *style:* **Variable or function name should be snake_case.**
```r
  NONE_EXISTS = "ERROR: No version exists for %s which meets requirements."
  ^~~~~~~~~~~
```
[R/install_reqs.R:171:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L171) *warning:* **local variable ‘NONE_EXISTS’ assigned but may not be used**
```r
  NONE_EXISTS = "ERROR: No version exists for %s which meets requirements."
  ^~~~~~~~~~~
```
[R/install_reqs.R:172:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L172) *style:* **Variable or function name should be snake_case.**
```r
  OTHER_FAIL = "ERROR: Requirement %s could not be satisified for some reason."
  ^~~~~~~~~~
```
[R/install_reqs.R:172:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L172) *warning:* **local variable ‘OTHER_FAIL’ assigned but may not be used**
```r
  OTHER_FAIL = "ERROR: Requirement %s could not be satisified for some reason."
  ^~~~~~~~~~
```
[R/install_reqs.R:174:15:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_reqs.R#L174) *warning:* **no visible global function definition for ‘get_installed’**
```r
  installed = get_installed(...)
              ^~~~~~~~~~~~~
```
[R/install_requirements.R:29:10:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_requirements.R#L29) *warning:* **no visible global function definition for ‘process_requirements_file’**
```r
  reqs = process_requirements_file(requirements)
         ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_requirements.R:31:16:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/install_requirements.R#L31) *warning:* **no visible global function definition for ‘activate_packrat’**
```r
  if (packrat) activate_packrat()
               ^~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:5:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L5) *style:* **Variable or function name should be snake_case.**
```r
  EXIST_ERR = "The specified requirements file, %s, does not exist"
  ^~~~~~~~~
```
[R/read_process_req_file.R:6:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L6) *style:* **Variable or function name should be snake_case.**
```r
  EMPTY_ERR = "The requirements file %s is empty."
  ^~~~~~~~~
```
[R/read_process_req_file.R:41:28:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L41) *warning:* **no visible binding for global variable ‘COMPS’**
```r
  version_req = grep(paste(COMPS, collapse = "|"), content, value = TRUE)
                           ^~~~~
```
[R/read_process_req_file.R:42:37:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L42) *warning:* **no visible binding for global variable ‘COMPS’**
```r
  tmp = strsplit(version_req, paste(COMPS, collapse = "|"))
                                    ^~~~~
```
[R/read_process_req_file.R:44:29:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L44) *warning:* **no visible global function definition for ‘legal_r_package_name’**
```r
  version_req = version_req[legal_r_package_name(trimws(pkg_name))]
                            ^~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:62:13:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L62) *warning:* **no visible global function definition for ‘read_requirements_file’**
```r
  content = read_requirements_file(req)
            ^~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:63:13:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L63) *warning:* **no visible global function definition for ‘remove_comments_from_req’**
```r
  content = remove_comments_from_req(content)
            ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:65:12:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L65) *warning:* **no visible global function definition for ‘capture_special_installs’**
```r
  output = capture_special_installs(content)
           ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:68:22:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L68) *warning:* **no visible global function definition for ‘capture_versioned_requirements’**
```r
  output$versioned = capture_versioned_requirements(content)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:71:18:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L71) *warning:* **no visible global function definition for ‘capture_local_requirements’**
```r
  output$local = capture_local_requirements(content)
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:74:32:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L74) *warning:* **no visible global function definition for ‘legal_r_package_name’**
```r
  output$unversioned = content[legal_r_package_name(trimws(content))]
                               ^~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:78:5:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/read_process_req_file.R#L78) *style:* **Variable or function name should be snake_case.**
```r
    RESOLUTION_ERR = "Not all requirements are allowed: %s"
    ^~~~~~~~~~~~~~
```
[R/requirements_helpers.R:16:16:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/requirements_helpers.R#L16) *warning:* **no visible binding for global variable ‘CANONICAL_PACKAGE_NAME_RE_STANDALONE’**
```r
  return(grepl(CANONICAL_PACKAGE_NAME_RE_STANDALONE, name))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/requirements_helpers.R:95:6:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/R/requirements_helpers.R#L95) *warning:* **no visible global function definition for ‘equivalent_version’**
```r
  is_equivalent_version = equivalent_version(existing, target)
     ^~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:1:9:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L1) *style:* **Only use double-quotes.**
```r
context('gen_requirements')
        ^~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:3:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L3) *style:* **Variable or function name should be snake_case.**
```r
TMP_DIR = tempdir()
^~~~~~~
```
[tests/testthat/test_gen_requirements.R:4:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L4) *style:* **Variable or function name should be snake_case.**
```r
FILE_1 = file.path(TMP_DIR, 'file_1.R')
^~~~~~
```
[tests/testthat/test_gen_requirements.R:4:29:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L4) *style:* **Only use double-quotes.**
```r
FILE_1 = file.path(TMP_DIR, 'file_1.R')
                            ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:5:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L5) *style:* **Variable or function name should be snake_case.**
```r
FILE_2 = file.path(TMP_DIR, 'file_2.R')
^~~~~~
```
[tests/testthat/test_gen_requirements.R:5:29:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L5) *style:* **Only use double-quotes.**
```r
FILE_2 = file.path(TMP_DIR, 'file_2.R')
                            ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:6:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L6) *style:* **Variable or function name should be snake_case.**
```r
FILE_3 = file.path(TMP_DIR, 'file_3.R')
^~~~~~
```
[tests/testthat/test_gen_requirements.R:6:29:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L6) *style:* **Only use double-quotes.**
```r
FILE_3 = file.path(TMP_DIR, 'file_3.R')
                            ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:8:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L8) *style:* **Variable or function name should be snake_case.**
```r
FILE_TEXT_1 = c(
^~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:9:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L9) *style:* **Only use double-quotes.**
```r
  'library(fake.package, quietly = TRUE)',
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:10:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L10) *style:* **Only use double-quotes.**
```r
  'require(testthat)',
  ^~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:12:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L12) *style:* **Only use double-quotes.**
```r
  'requirements::requirements()',
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:13:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L13) *style:* **Only use double-quotes.**
```r
  'devtools:::fake_function()',
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:14:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L14) *style:* **Only use double-quotes.**
```r
  'stringr::function(readr:::function)',
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:15:3:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L15) *style:* **Only use double-quotes.**
```r
  'dt[, x := 1]\n'
  ^~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:18:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L18) *style:* **Variable or function name should be snake_case.**
```r
FILE_TEXT_2 = c('library(packrat)',
^~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:18:17:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L18) *style:* **Only use double-quotes.**
```r
FILE_TEXT_2 = c('library(packrat)',
                ^~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:19:17:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L19) *style:* **Only use double-quotes.**
```r
                'library(fake_package)\n')
                ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:20:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L20) *style:* **Variable or function name should be snake_case.**
```r
FILE_TEXT_3 = ''
^~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:20:15:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L20) *style:* **Only use double-quotes.**
```r
FILE_TEXT_3 = ''
              ^~
```
[tests/testthat/test_gen_requirements.R:22:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L22) *style:* **Variable or function name should be snake_case.**
```r
FILES = c(FILE_1, FILE_2, FILE_3)
^~~~~
```
[tests/testthat/test_gen_requirements.R:23:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L23) *style:* **Variable or function name should be snake_case.**
```r
FILE_TEXTS = list(FILE_TEXT_1, FILE_TEXT_2, FILE_TEXT_3)
^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:25:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L25) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_1 = FILE_TEXT_1[-length(FILE_TEXT_1)]
^~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:26:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L26) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_2 = trimws(FILE_TEXT_2)
^~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:27:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L27) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_3 = character(0)
^~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:29:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L29) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_ALL = c(PACKAGE_LINES_1, PACKAGE_LINES_2, PACKAGE_LINES_3)
^~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:30:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L30) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_ALL = unique(PACKAGE_LINES_ALL)
^~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L32) *style:* **Variable or function name should be snake_case.**
```r
PACKAGES_1 = c('fake.package', 'testthat', 'dplyr', 'pacman', 'requirements', 'devtools', 'stringr', 'readr')
^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:16:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L32) *style:* **Only use double-quotes.**
```r
PACKAGES_1 = c('fake.package', 'testthat', 'dplyr', 'pacman', 'requirements', 'devtools', 'stringr', 'readr')
               ^~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:32:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L32) *style:* **Only use double-quotes.**
```r
PACKAGES_1 = c('fake.package', 'testthat', 'dplyr', 'pacman', 'requirements', 'devtools', 'stringr', 'readr')
                               ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:44:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L32) *style:* **Only use double-quotes.**
```r
PACKAGES_1 = c('fake.package', 'testthat', 'dplyr', 'pacman', 'requirements', 'devtools', 'stringr', 'readr')
                                           ^~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:53:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L32) *style:* **Only use double-quotes.**
```r
PACKAGES_1 = c('fake.package', 'testthat', 'dplyr', 'pacman', 'requirements', 'devtools', 'stringr', 'readr')
                                                    ^~~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:63:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L32) *style:* **Only use double-quotes.**
```r
PACKAGES_1 = c('fake.package', 'testthat', 'dplyr', 'pacman', 'requirements', 'devtools', 'stringr', 'readr')
                                                              ^~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:79:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L32) *style:* **Only use double-quotes.**
```r
PACKAGES_1 = c('fake.package', 'testthat', 'dplyr', 'pacman', 'requirements', 'devtools', 'stringr', 'readr')
                                                                              ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:91:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L32) *style:* **Only use double-quotes.**
```r
PACKAGES_1 = c('fake.package', 'testthat', 'dplyr', 'pacman', 'requirements', 'devtools', 'stringr', 'readr')
                                                                                ^~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:102:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L32) *style:* **Only use double-quotes.**
```r
PACKAGES_1 = c('fake.package', 'testthat', 'dplyr', 'pacman', 'requirements', 'devtools', 'stringr', 'readr')
                                                                                ^~~~~~~
```
[tests/testthat/test_gen_requirements.R:33:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L33) *style:* **Variable or function name should be snake_case.**
```r
PACKAGES_2 = c('packrat')
^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:33:16:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L33) *style:* **Only use double-quotes.**
```r
PACKAGES_2 = c('packrat')
               ^~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:34:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L34) *style:* **Variable or function name should be snake_case.**
```r
PACKAGES_ALL = c(PACKAGES_1, PACKAGES_2)
^~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:46:11:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L46) *style:* **Only use double-quotes.**
```r
test_that('read_package_lines_from_files', {
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:50:11:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L50) *style:* **Only use double-quotes.**
```r
test_that('match_packages', {
          ^~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:57:11:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L57) *style:* **Only use double-quotes.**
```r
test_that('safe_package_version', {
          ^~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:59:26:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L59) *style:* **Only use double-quotes.**
```r
    safe_package_version(''),
                         ^~
```
[tests/testthat/test_gen_requirements.R:61:13:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L61) *style:* **Only use double-quotes.**
```r
    label = 'return NA for fake package'
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:65:26:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L65) *style:* **Only use double-quotes.**
```r
    safe_package_version('testthat'),
                         ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:66:20:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L66) *style:* **Only use double-quotes.**
```r
    packageVersion('testthat'),
                   ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:67:13:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L67) *style:* **Only use double-quotes.**
```r
    label = 'defaults'
            ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:71:11:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L71) *style:* **Only use double-quotes.**
```r
test_that('append_version_requirements', {
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:73:32:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L73) *style:* **Only use double-quotes.**
```r
    append_version_requirement('testthat'),
                               ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:74:12:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L74) *style:* **Only use double-quotes.**
```r
    paste0('testthat>=', packageVersion('testthat')),
           ^~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:74:41:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L74) *style:* **Only use double-quotes.**
```r
    paste0('testthat>=', packageVersion('testthat')),
                                        ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:75:13:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L75) *style:* **Only use double-quotes.**
```r
    label = 'defaults'
            ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:79:32:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L79) *style:* **Only use double-quotes.**
```r
    append_version_requirement('testthat', eq_sym = '=='),
                               ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:79:53:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L79) *style:* **Only use double-quotes.**
```r
    append_version_requirement('testthat', eq_sym = '=='),
                                                    ^~~~
```
[tests/testthat/test_gen_requirements.R:80:12:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L80) *style:* **Only use double-quotes.**
```r
    paste0('testthat==', packageVersion('testthat')),
           ^~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:80:41:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L80) *style:* **Only use double-quotes.**
```r
    paste0('testthat==', packageVersion('testthat')),
                                        ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:81:13:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L81) *style:* **Only use double-quotes.**
```r
    label = 'change eq_sym'
            ^~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:85:32:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L85) *style:* **Only use double-quotes.**
```r
    append_version_requirement('f', rm_missing = TRUE),
                               ^~~
```
[tests/testthat/test_gen_requirements.R:87:13:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L87) *style:* **Only use double-quotes.**
```r
    label = 'single fake package rm_missing = TRUE (return NA)'
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:91:35:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L91) *style:* **Only use double-quotes.**
```r
    append_version_requirements(c('*', 'testthat'), rm_missing = TRUE),
                                  ^~~
```
[tests/testthat/test_gen_requirements.R:91:40:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L91) *style:* **Only use double-quotes.**
```r
    append_version_requirements(c('*', 'testthat'), rm_missing = TRUE),
                                       ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:92:12:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L92) *style:* **Only use double-quotes.**
```r
    paste0('testthat>=', packageVersion('testthat')),
           ^~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:92:41:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L92) *style:* **Only use double-quotes.**
```r
    paste0('testthat>=', packageVersion('testthat')),
                                        ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:93:13:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L93) *style:* **Only use double-quotes.**
```r
    label = 'fake package rm_missing = TRUE'
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:97:35:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L97) *style:* **Only use double-quotes.**
```r
    append_version_requirements(c('*', 'testthat'), rm_missing = FALSE),
                                  ^~~
```
[tests/testthat/test_gen_requirements.R:97:40:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L97) *style:* **Only use double-quotes.**
```r
    append_version_requirements(c('*', 'testthat'), rm_missing = FALSE),
                                       ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:98:7:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L98) *style:* **Only use double-quotes.**
```r
    c('*', paste0('testthat>=', packageVersion('testthat'))),
      ^~~
```
[tests/testthat/test_gen_requirements.R:98:19:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L98) *style:* **Only use double-quotes.**
```r
    c('*', paste0('testthat>=', packageVersion('testthat'))),
                  ^~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:98:48:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L98) *style:* **Only use double-quotes.**
```r
    c('*', paste0('testthat>=', packageVersion('testthat'))),
                                               ^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:99:13:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L99) *style:* **Only use double-quotes.**
```r
    label = 'fake package rm_missing = FALSE'
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:104:11:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L104) *style:* **Only use double-quotes.**
```r
test_that('generate_requirements', {
          ^~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:105:47:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L105) *style:* **Only use double-quotes.**
```r
  test_requirements_file = file.path(TMP_DIR, 'requirements.txt')
                                              ^~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:106:34:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_gen_requirements.R#L106) *style:* **Only use double-quotes.**
```r
  test_glob = file.path(TMP_DIR, 'file_*.R')
                                 ^~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:1:1:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L1) *style:* **Variable or function name should be snake_case.**
```r
INST = c("mgsub"="1.5.1.3","lexRankr"="0.4.1","readOffice"="0.2.2")
^~~~
```
[tests/testthat/test_install_requirements.R:1:17:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L1) *style:* **Put spaces around all infix operators.**
```r
INST = c("mgsub"="1.5.1.3","lexRankr"="0.4.1","readOffice"="0.2.2")
               ~^~
```
[tests/testthat/test_install_requirements.R:1:28:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L1) *style:* **Commas should always have a space after.**
```r
INST = c("mgsub"="1.5.1.3","lexRankr"="0.4.1","readOffice"="0.2.2")
                           ^
```
[tests/testthat/test_install_requirements.R:1:38:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L1) *style:* **Put spaces around all infix operators.**
```r
INST = c("mgsub"="1.5.1.3","lexRankr"="0.4.1","readOffice"="0.2.2")
                                    ~^~
```
[tests/testthat/test_install_requirements.R:1:47:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L1) *style:* **Commas should always have a space after.**
```r
INST = c("mgsub"="1.5.1.3","lexRankr"="0.4.1","readOffice"="0.2.2")
                                              ^
```
[tests/testthat/test_install_requirements.R:1:59:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L1) *style:* **Put spaces around all infix operators.**
```r
INST = c("mgsub"="1.5.1.3","lexRankr"="0.4.1","readOffice"="0.2.2")
                                                         ~^~
```
[tests/testthat/test_install_requirements.R:3:9:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L3) *style:* **Only use double-quotes.**
```r
context('Read and Process Requirements File')
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:5:11:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L5) *style:* **Only use double-quotes.**
```r
test_that('read_requirements_file', {
          ^~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:6:38:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L6) *style:* **Only use double-quotes.**
```r
  expect_type(read_requirements_file('testdata/requirements_1.txt'),'character')
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:6:69:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L6) *style:* **Commas should always have a space after.**
```r
  expect_type(read_requirements_file('testdata/requirements_1.txt'),'character')
                                                                    ^
```
[tests/testthat/test_install_requirements.R:6:69:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L6) *style:* **Only use double-quotes.**
```r
  expect_type(read_requirements_file('testdata/requirements_1.txt'),'character')
                                                                    ^~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:7:39:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L7) *style:* **Only use double-quotes.**
```r
  expect_equal(read_requirements_file('testdata/requirements_1.txt'),
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:10:39:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L10) *style:* **Only use double-quotes.**
```r
  expect_equal(read_requirements_file('testdata/requirements_2.txt'),
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:13:39:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L13) *style:* **Only use double-quotes.**
```r
  expect_equal(read_requirements_file('testdata/requirements_3.txt'),
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:23:11:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L23) *style:* **Only use double-quotes.**
```r
test_that('process_requirements_file',{
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:23:39:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L23) *style:* **Commas should always have a space after.**
```r
test_that('process_requirements_file',{
                                      ^
```
[tests/testthat/test_install_requirements.R:24:49:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L24) *style:* **Only use double-quotes.**
```r
  expect_type(req1 <- process_requirements_file('testdata/requirements_1.txt'),'list')
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:24:80:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L24) *style:* **Commas should always have a space after.**
```r
  expect_type(req1 <- process_requirements_file('testdata/requirements_1.txt'),'list')
                                                                               ^
```
[tests/testthat/test_install_requirements.R:24:80:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L24) *style:* **Only use double-quotes.**
```r
  expect_type(req1 <- process_requirements_file('testdata/requirements_1.txt'),'list')
                                                                               ^~~~~~
```
[tests/testthat/test_install_requirements.R:25:43:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L25) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_1.txt'), 7)
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:26:43:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L26) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_1.txt')[['url']], 0)
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:26:75:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L26) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_1.txt')[['url']], 0)
                                                                          ^~~~~
```
[tests/testthat/test_install_requirements.R:27:42:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L27) *style:* **Only use double-quotes.**
```r
  expect_equal(process_requirements_file('testdata/requirements_1.txt')[['versioned']],
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:27:74:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L27) *style:* **Only use double-quotes.**
```r
  expect_equal(process_requirements_file('testdata/requirements_1.txt')[['versioned']],
                                                                         ^~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:29:42:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L29) *style:* **Only use double-quotes.**
```r
  expect_equal(process_requirements_file('testdata/requirements_2.txt')[['versioned']],
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:29:74:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L29) *style:* **Only use double-quotes.**
```r
  expect_equal(process_requirements_file('testdata/requirements_2.txt')[['versioned']],
                                                                         ^~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:32:42:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L32) *style:* **Only use double-quotes.**
```r
  expect_equal(process_requirements_file('testdata/requirements_3.txt')[['versioned']],
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:32:74:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L32) *style:* **Only use double-quotes.**
```r
  expect_equal(process_requirements_file('testdata/requirements_3.txt')[['versioned']],
                                                                         ^~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:35:43:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L35) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['unversioned']],1)
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:35:75:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L35) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['unversioned']],1)
                                                                          ^~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:35:91:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L35) *style:* **Commas should always have a space after.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['unversioned']],1)
                                                                                ^
```
[tests/testthat/test_install_requirements.R:36:43:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L36) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['git']],1)
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:36:75:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L36) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['git']],1)
                                                                          ^~~~~
```
[tests/testthat/test_install_requirements.R:36:83:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L36) *style:* **Commas should always have a space after.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['git']],1)
                                                                                ^
```
[tests/testthat/test_install_requirements.R:37:43:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L37) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['svn']],1)
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:37:75:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L37) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['svn']],1)
                                                                          ^~~~~
```
[tests/testthat/test_install_requirements.R:37:83:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L37) *style:* **Commas should always have a space after.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['svn']],1)
                                                                                ^
```
[tests/testthat/test_install_requirements.R:38:43:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L38) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['bioc']],1)
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:38:75:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L38) *style:* **Only use double-quotes.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['bioc']],1)
                                                                          ^~~~~~
```
[tests/testthat/test_install_requirements.R:38:84:](https://github.com/bmewing/requirements/blob/72d1824d39498d3280e56fd98d7252b21fb4b9b3/tests/testthat/test_install_requirements.R#L38) *style:* **Commas should always have a space after.**
```r
  expect_length(process_requirements_file('testdata/requirements_3.txt')[['bioc']],1)
                                                                                ^
```


Created multidev environment [rescue-x-base#v0-5](https://dashboard.pantheon.io/sites/39804e8f-253e-474e-82cf-725b36fddde0#v0-5).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://v0-5-rescue-x-base.pantheonsite.io/)


新地址->新的源地址
终端在关闭期间可以从一个新的源地址接收数据包，这表示连接迁移（{{migration}}）


I don't quite understand your question.
You can add as many exclusions as you want.
Say:
new PdfComparator("expected.pdf", "actual.pdf")
.with(new Exclusion(1, 230, 350, 450, 420))
.with(new Exclusion(1, 530, 350, 750, 420))
.compare();
would work.
Or define your exclusions in a file.
Does that answer your question?


We should just drop this tool too


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Client ID project/taskcluster/tc-github/production-2 does not have sufficient scopes and are missing the following scopes:

```
queue:route:tc-treeherder.v2.reference-browser.2ee0f0357b03789985a878ae747686ec02281b4c
```

You have the scopes:

```
[
  "assume:project:taskcluster:mozilla-github-repository",
  "assume:repo:github.com/kglazko/reference-browser:branch:UpdateNimbledroidToRelease",
  "github:create-comment:kglazko/*",
  "notify:email:*",
  "notify:irc-channel:*",
  "notify:irc-user:*",
  "queue:create-task:aws-provisioner-v1/github-worker",
  "queue:create-task:aws-provisioner-v1/github-worker-windows",
  "queue:create-task:aws-provisioner-v1/win2012r2",
  "queue:create-task:highest:aws-provisioner-v1/mobile-1-*",
  "queue:route:checks",
  "queue:route:garbage.*",
  "queue:route:index.garbage.*",
  "queue:route:notify.email.*",
  "queue:route:notify.irc-channel.*",
  "queue:route:notify.irc-user.*",
  "queue:route:statuses",
  "queue:scheduler-id:taskcluster-github",
  "secrets:get:garbage/*",
  "secrets:get:project/mobile/reference-browser/firebase",
  "secrets:get:project/mobile/reference-browser/nimbledroid",
  "secrets:set:garbage/*"
]
```

This request requires you to satisfy this scope expression:

```
{
  "AllOf": [
    "assume:repo:github.com/kglazko/reference-browser:branch:UpdateNimbledroidToRelease",
    "queue:route:statuses",
    "queue:route:tc-treeherder.v2.reference-browser.2ee0f0357b03789985a878ae747686ec02281b4c",
    {
      "AnyOf": [
        {
          "AllOf": [
            "queue:scheduler-id:taskcluster-github",
            {
              "AnyOf": [
                "queue:create-task:highest:aws-provisioner-v1/mobile-1-decision"
              ]
            }
          ]
        }
      ]
    }
  ]
}
```

---

* method:     createTask
* errorCode:  InsufficientScopes
* statusCode: 403
* time:       2019-04-01T15:47:50.771Z

</details>


Indeed.


yeah, for sure it was tested and I think twice :D


RCR Training fdalieh


Goodness, I was nowhere close with the code I had. How did you end the 'never-ending loop'?


Yes it was produced by latex. We don't need that.


I think you should look up the configuration registry in the constructor and pass that value to `UpgradableSession`. That way, you're not hard-encoding time. Also, here's a question for @maparent : How come the timeout wasn't used by you for the feature to bang out someone's session? I recall you used `elevated_expires` instead?


//variables membre

Menus[] = list<menus>
SS menus[] = list<menus>

un menu est définis par un nom, [role] et un lien

constructeur() {
si pas connecté , rien
si connecté : affiche icone user

je prends le rôle et je mets la liste des menus autorisés dans le tableau menu
idem pour sous menu

}


undefined proc, this is gonna break shit


Unittest?


z


thanks for the reply.  When I compared 2 pdfs with multiple differences in a page, the result pdf with color highlighting rightly showed the differences. But the page area from compareResult.getDifferences() is giving only one set of x,y coordinates. Like below
Page number =3
X1 =281
X2 =2213
Y1 =921
Y2 =3278

Page 3 has 4 differences shown in the result pdf file. So should not it be returning 4 set of coordinates?


Faezh, please send me a pull request. I saw this notification but no actual changes.


Successfully aliased the URL <https://imagineadrian-mlx7uzy06.now.sh> to the following aliases.

* https://imagineadrian.com
* https://imagineadrian-git-master.hadrianix.now.sh


处理了冲突


Added css transitions


Successfully aliased the URL <https://dcalskygithubio-o0tyoj1fs.now.sh> to the following aliases.

* https://dcalskygithubio-git-master.dcalsky.now.sh
* https://www.noddl.me


Hi @ekremkaraca,

May I ask what is the problem with the Expertiza link? I may fix it.

Thanks,
Zhewei


That fixes the arithmetic error discussed. Thanks.


Successfully aliased the URL <https://imagineadrian-3hzgvft1r.now.sh> to the following aliases.

* https://imagineadrian.com
* https://imagineadrian-git-master.hadrianix.now.sh


Successfully aliased the URL <https://imagineadrian-35ys8jcmo.now.sh> to the following aliases.

* https://imagineadrian.com
* https://imagineadrian-git-master.hadrianix.now.sh


The returned difference always includes all differences in one area. So it's just the bounding area that includes all differences on the page.
There is no easy way to differentiate several differing areas. You would have to detect areas, with changes that are close together and differentiate them from another chunk of changes, but that have some distance between them. I never programmed that. But feel free to do so. It's open source for a reason... ;-)
Merge Requests are welcome...


Small change. Neat.


Successfully aliased the URL <https://imagineadrian-i72wzrnn5.now.sh> to the following aliases.

* https://imagineadrian.com
* https://imagineadrian-git-master.hadrianix.now.sh


@mateuspenha

Obrigado !! Reparei que está olhando o FormDin, lembrando o SysGen no momento é apenas um automatizador para o FormDin, acelerando o processo de desenvolvimento e entrega do sistema.

Porém somente o ideal é conhecer o FormDin. Na Wiki tem tutoriais [Aprendendo formDin em etapas](https://github.com/bjverde/formDin/wiki).

Tem um curso em vídeo sobre ! Não está completo porém já um bom norte
https://www.youtube.com/watch?v=OCrf_sZ8H58&list=PL296LQLcRfW67riEtAanqvaIiXJX-yMyY


Hey drew


This is leaking export->file


@hstove you will have to pass `newConfig` to `setupController` 😁


[R/gen_requirements_helpers.R:27:43:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements_helpers.R#L27) *warning:* **no visible binding for global variable ‘read_package_lines_from_file’**
```r
  package_lines_list = lapply(file_paths, read_package_lines_from_file, filter_words = filter_words)
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:58:52:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements_helpers.R#L58) *warning:* **no visible global function definition for ‘match_package’**
```r
  match_list = lapply(package_regexes, function(r) match_package(candidate_lines, r))
                                                   ^~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:101:17:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements_helpers.R#L101) *warning:* **no visible global function definition for ‘safe_package_version’**
```r
  pkg_version = safe_package_version(pkg)
                ^~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:108:14:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements_helpers.R#L108) *warning:* **no visible global function definition for ‘validate_eq_sym’**
```r
    eq_sym = validate_eq_sym(eq_sym)
             ^~~~~~~~~~~~~~~
```
[R/gen_requirements_helpers.R:127:5:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements_helpers.R#L127) *warning:* **no visible global function definition for ‘append_version_requirement’**
```r
    append_version_requirement(p, eq_sym, rm_missing)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:35:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements.R#L35) *style:* **Lines should not be more than 120 characters.**
```r
#'   \item using a character vector to load; e.g. \code{pkg = "testthat"; library(pkg, character.only = TRUE)} (will match \code{pkg} as package instead of \code{testthat})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:36:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements.R#L36) *style:* **Lines should not be more than 120 characters.**
```r
#'   \item using a string resembling a package load; e.g. \code{"library(fake.package)"} (will match \code{fake.package})
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:53:24:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements.R#L53) *warning:* **no visible global function definition for ‘read_package_lines_from_files’**
```r
  package_text_lines = read_package_lines_from_files(file_paths)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:55:22:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements.R#L55) *warning:* **no visible global function definition for ‘match_packages’, Did you mean 'matched_packages'?**
```r
  matched_packages = match_packages(package_text_lines, PACKAGE_RES)
                     ^~~~~~~~~~~~~~
```
[R/gen_requirements.R:55:57:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements.R#L55) *warning:* **no visible binding for global variable ‘PACKAGE_RES’**
```r
  matched_packages = match_packages(package_text_lines, PACKAGE_RES)
                                                        ^~~~~~~~~~~
```
[R/gen_requirements.R:58:32:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements.R#L58) *warning:* **no visible global function definition for ‘append_version_requirements’**
```r
  versioned_matched_packages = append_version_requirements(sorted_matched_packages, eq_sym, rm_missing)
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/gen_requirements.R:60:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/gen_requirements.R#L60) *warning:* **no visible global function definition for ‘write_requirements_file’**
```r
  write_requirements_file(versioned_matched_packages, output_path)
  ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:25:7:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L25) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
      vmess(sprintf(INSTALL, url, ""), verbose)
      ^~~~~
```
[R/install_reqs.R:25:21:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L25) *warning:* **no visible binding for global variable ‘INSTALL’**
```r
      vmess(sprintf(INSTALL, url, ""), verbose)
                    ^~~~~~~
```
[R/install_reqs.R:30:36:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L30) *warning:* **no visible binding for global variable ‘OTHER_FAIL’**
```r
                   message(sprintf(OTHER_FAIL, url))
                                   ^~~~~~~~~~
```
[R/install_reqs.R:62:30:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L62) *warning:* **no visible global function definition for ‘get_available_versions’**
```r
        available_versions = get_available_versions(i)
                             ^~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:63:9:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L63) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
        vmess(sprintf(NOT_INSTALLED, i), verbose)
        ^~~~~
```
[R/install_reqs.R:63:23:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L63) *warning:* **no visible binding for global variable ‘NOT_INSTALLED’**
```r
        vmess(sprintf(NOT_INSTALLED, i), verbose)
                      ^~~~~~~~~~~~~
```
[R/install_reqs.R:65:9:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L65) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
        vmess(sprintf(INSTALL, i, sprintf(INSTALL_VERSION, version)), verbose)
        ^~~~~
```
[R/install_reqs.R:65:23:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L65) *warning:* **no visible binding for global variable ‘INSTALL’**
```r
        vmess(sprintf(INSTALL, i, sprintf(INSTALL_VERSION, version)), verbose)
                      ^~~~~~~
```
[R/install_reqs.R:65:43:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L65) *warning:* **no visible binding for global variable ‘INSTALL_VERSION’**
```r
        vmess(sprintf(INSTALL, i, sprintf(INSTALL_VERSION, version)), verbose)
                                          ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:70:38:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L70) *warning:* **no visible binding for global variable ‘OTHER_FAIL’**
```r
                     message(sprintf(OTHER_FAIL, i))
                                     ^~~~~~~~~~
```
[R/install_reqs.R:81:36:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L81) *warning:* **no visible binding for global variable ‘COMPS’**
```r
  comp = sub(paste0("^.*?(", paste(COMPS, collapse = "|"), ").*$"), "\\1", req)
                                   ^~~~~
```
[R/install_reqs.R:83:31:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L83) *warning:* **no visible binding for global variable ‘COMPS’**
```r
  split = strsplit(req, paste(COMPS, collapse = "|"))[[1]]
                              ^~~~~
```
[R/install_reqs.R:94:5:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L94) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
    vmess(sprintf(NOT_INSTALLED, package), verbose)
    ^~~~~
```
[R/install_reqs.R:94:19:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L94) *warning:* **no visible binding for global variable ‘NOT_INSTALLED’**
```r
    vmess(sprintf(NOT_INSTALLED, package), verbose)
                  ^~~~~~~~~~~~~
```
[R/install_reqs.R:97:23:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L97) *warning:* **no visible global function definition for ‘compare_version’, Did you mean 'compareVersion'?**
```r
    install_needed = !compare_version(installed[package], version, comp)
                      ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:114:27:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L114) *warning:* **no visible global function definition for ‘process_versioned_requirement’**
```r
      processed_element = process_versioned_requirement(i)
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:119:24:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L119) *warning:* **no visible global function definition for ‘is_versioned_install_needed’**
```r
      install_needed = is_versioned_install_needed(package, version, comp, installed, verbose)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:123:11:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L123) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
          vmess(sprintf(BAD_VERSION, package, installed[package]), verbose)
          ^~~~~
```
[R/install_reqs.R:123:25:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L123) *warning:* **no visible binding for global variable ‘BAD_VERSION’**
```r
          vmess(sprintf(BAD_VERSION, package, installed[package]), verbose)
                        ^~~~~~~~~~~
```
[R/install_reqs.R:126:30:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L126) *warning:* **no visible global function definition for ‘get_available_versions’**
```r
        available_versions = get_available_versions(package)
                             ^~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:136:11:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L136) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
          vmess(sprintf(NONE_EXISTS, package), verbose)
          ^~~~~
```
[R/install_reqs.R:136:25:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L136) *warning:* **no visible binding for global variable ‘NONE_EXISTS’**
```r
          vmess(sprintf(NONE_EXISTS, package), verbose)
                        ^~~~~~~~~~~
```
[R/install_reqs.R:148:40:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L148) *warning:* **no visible binding for global variable ‘OTHER_FAIL’**
```r
                       message(sprintf(OTHER_FAIL, i))
                                       ^~~~~~~~~~
```
[R/install_reqs.R:167:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L167) *style:* **Variable or function name should be snake_case.**
```r
  INSTALL = "Installing %s %s"
  ^~~~~~~
```
[R/install_reqs.R:167:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L167) *warning:* **local variable ‘INSTALL’ assigned but may not be used**
```r
  INSTALL = "Installing %s %s"
  ^~~~~~~
```
[R/install_reqs.R:168:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L168) *style:* **Variable or function name should be snake_case.**
```r
  INSTALL_VERSION = "at version %s"
  ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:168:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L168) *warning:* **local variable ‘INSTALL_VERSION’ assigned but may not be used**
```r
  INSTALL_VERSION = "at version %s"
  ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:169:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L169) *style:* **Variable or function name should be snake_case.**
```r
  NOT_INSTALLED = "NOTE: %s is not currently installed."
  ^~~~~~~~~~~~~
```
[R/install_reqs.R:169:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L169) *warning:* **local variable ‘NOT_INSTALLED’ assigned but may not be used**
```r
  NOT_INSTALLED = "NOTE: %s is not currently installed."
  ^~~~~~~~~~~~~
```
[R/install_reqs.R:170:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L170) *style:* **Variable or function name should be snake_case.**
```r
  BAD_VERSION = "NOTE: %s is current installed at version %s which is not sufficient."
  ^~~~~~~~~~~
```
[R/install_reqs.R:170:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L170) *warning:* **local variable ‘BAD_VERSION’ assigned but may not be used**
```r
  BAD_VERSION = "NOTE: %s is current installed at version %s which is not sufficient."
  ^~~~~~~~~~~
```
[R/install_reqs.R:171:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L171) *style:* **Variable or function name should be snake_case.**
```r
  NONE_EXISTS = "ERROR: No version exists for %s which meets requirements."
  ^~~~~~~~~~~
```
[R/install_reqs.R:171:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L171) *warning:* **local variable ‘NONE_EXISTS’ assigned but may not be used**
```r
  NONE_EXISTS = "ERROR: No version exists for %s which meets requirements."
  ^~~~~~~~~~~
```
[R/install_reqs.R:172:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L172) *style:* **Variable or function name should be snake_case.**
```r
  OTHER_FAIL = "ERROR: Requirement %s could not be satisified for some reason."
  ^~~~~~~~~~
```
[R/install_reqs.R:172:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L172) *warning:* **local variable ‘OTHER_FAIL’ assigned but may not be used**
```r
  OTHER_FAIL = "ERROR: Requirement %s could not be satisified for some reason."
  ^~~~~~~~~~
```
[R/install_reqs.R:174:15:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_reqs.R#L174) *warning:* **no visible global function definition for ‘get_installed’**
```r
  installed = get_installed(...)
              ^~~~~~~~~~~~~
```
[R/install_requirements.R:29:10:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_requirements.R#L29) *warning:* **no visible global function definition for ‘process_requirements_file’**
```r
  reqs = process_requirements_file(requirements)
         ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_requirements.R:31:16:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/install_requirements.R#L31) *warning:* **no visible global function definition for ‘activate_packrat’**
```r
  if (packrat) activate_packrat()
               ^~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:5:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L5) *style:* **Variable or function name should be snake_case.**
```r
  EXIST_ERR = "The specified requirements file, %s, does not exist"
  ^~~~~~~~~
```
[R/read_process_req_file.R:6:3:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L6) *style:* **Variable or function name should be snake_case.**
```r
  EMPTY_ERR = "The requirements file %s is empty."
  ^~~~~~~~~
```
[R/read_process_req_file.R:41:28:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L41) *warning:* **no visible binding for global variable ‘COMPS’**
```r
  version_req = grep(paste(COMPS, collapse = "|"), content, value = TRUE)
                           ^~~~~
```
[R/read_process_req_file.R:42:37:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L42) *warning:* **no visible binding for global variable ‘COMPS’**
```r
  tmp = strsplit(version_req, paste(COMPS, collapse = "|"))
                                    ^~~~~
```
[R/read_process_req_file.R:44:29:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L44) *warning:* **no visible global function definition for ‘legal_r_package_name’**
```r
  version_req = version_req[legal_r_package_name(trimws(pkg_name))]
                            ^~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:62:13:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L62) *warning:* **no visible global function definition for ‘read_requirements_file’**
```r
  content = read_requirements_file(req)
            ^~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:63:13:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L63) *warning:* **no visible global function definition for ‘remove_comments_from_req’**
```r
  content = remove_comments_from_req(content)
            ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:65:12:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L65) *warning:* **no visible global function definition for ‘capture_special_installs’**
```r
  output = capture_special_installs(content)
           ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:68:22:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L68) *warning:* **no visible global function definition for ‘capture_versioned_requirements’**
```r
  output$versioned = capture_versioned_requirements(content)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:71:18:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L71) *warning:* **no visible global function definition for ‘capture_local_requirements’**
```r
  output$local = capture_local_requirements(content)
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:74:32:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L74) *warning:* **no visible global function definition for ‘legal_r_package_name’**
```r
  output$unversioned = content[legal_r_package_name(trimws(content))]
                               ^~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:78:5:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/read_process_req_file.R#L78) *style:* **Variable or function name should be snake_case.**
```r
    RESOLUTION_ERR = "Not all requirements are allowed: %s"
    ^~~~~~~~~~~~~~
```
[R/requirements_helpers.R:16:16:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/requirements_helpers.R#L16) *warning:* **no visible binding for global variable ‘CANONICAL_PACKAGE_NAME_RE_STANDALONE’**
```r
  return(grepl(CANONICAL_PACKAGE_NAME_RE_STANDALONE, name))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/requirements_helpers.R:95:6:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/R/requirements_helpers.R#L95) *warning:* **no visible global function definition for ‘equivalent_version’**
```r
  is_equivalent_version = equivalent_version(existing, target)
     ^~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:3:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L3) *style:* **Variable or function name should be snake_case.**
```r
TMP_DIR = tempdir()
^~~~~~~
```
[tests/testthat/test_gen_requirements.R:4:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L4) *style:* **Variable or function name should be snake_case.**
```r
FILE_1 = file.path(TMP_DIR, "file_1.R")
^~~~~~
```
[tests/testthat/test_gen_requirements.R:5:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L5) *style:* **Variable or function name should be snake_case.**
```r
FILE_2 = file.path(TMP_DIR, "file_2.R")
^~~~~~
```
[tests/testthat/test_gen_requirements.R:6:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L6) *style:* **Variable or function name should be snake_case.**
```r
FILE_3 = file.path(TMP_DIR, "file_3.R")
^~~~~~
```
[tests/testthat/test_gen_requirements.R:8:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L8) *style:* **Variable or function name should be snake_case.**
```r
FILE_TEXT_1 = c(
^~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:18:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L18) *style:* **Variable or function name should be snake_case.**
```r
FILE_TEXT_2 = c("library(packrat)",
^~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:20:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L20) *style:* **Variable or function name should be snake_case.**
```r
FILE_TEXT_3 = ""
^~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:22:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L22) *style:* **Variable or function name should be snake_case.**
```r
FILES = c(FILE_1, FILE_2, FILE_3)
^~~~~
```
[tests/testthat/test_gen_requirements.R:23:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L23) *style:* **Variable or function name should be snake_case.**
```r
FILE_TEXTS = list(FILE_TEXT_1, FILE_TEXT_2, FILE_TEXT_3)
^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:25:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L25) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_1 = FILE_TEXT_1[-length(FILE_TEXT_1)]
^~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:26:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L26) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_2 = trimws(FILE_TEXT_2)
^~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:27:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L27) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_3 = character(0)
^~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:29:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L29) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_ALL = c(PACKAGE_LINES_1, PACKAGE_LINES_2, PACKAGE_LINES_3)
^~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:30:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L30) *style:* **Variable or function name should be snake_case.**
```r
PACKAGE_LINES_ALL = unique(PACKAGE_LINES_ALL)
^~~~~~~~~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:32:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L32) *style:* **Variable or function name should be snake_case.**
```r
PACKAGES_1 = c("fake.package", "testthat", "dplyr", "pacman", "requirements", "devtools", "stringr", "readr")
^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:33:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L33) *style:* **Variable or function name should be snake_case.**
```r
PACKAGES_2 = c("packrat")
^~~~~~~~~~
```
[tests/testthat/test_gen_requirements.R:34:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_gen_requirements.R#L34) *style:* **Variable or function name should be snake_case.**
```r
PACKAGES_ALL = c(PACKAGES_1, PACKAGES_2)
^~~~~~~~~~~~
```
[tests/testthat/test_install_requirements.R:1:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_install_requirements.R#L1) *style:* **Variable or function name should be snake_case.**
```r
INST = c("mgsub" = "1.5.1.3", "lexRankr" = "0.4.1", "readOffice" = "0.2.2")
^~~~
```
[tests/testthat/test_install_requirements.R:83:52:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_install_requirements.R#L83) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  expect_true(compare_version("1.0.1", "0.9",   ">" ))
                                                   ^
```
[tests/testthat/test_install_requirements.R:85:52:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_install_requirements.R#L85) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  expect_true(compare_version("1.0.1", "1.5",   "<" ))
                                                   ^
```
[tests/testthat/test_install_requirements.R:94:53:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_install_requirements.R#L94) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  expect_false(compare_version("0.9.0", "0.9",   ">" ))
                                                    ^
```
[tests/testthat/test_install_requirements.R:96:53:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_install_requirements.R#L96) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  expect_false(compare_version("2.0.1", "1.5",   "<" ))
                                                    ^
```
[tests/testthat/test_install_requirements.R:125:1:](https://github.com/bmewing/requirements/blob/87b730263b760aeeb4fd1dc679764454313653c8/tests/testthat/test_install_requirements.R#L125) *style:* **Variable or function name should be snake_case.**
```r
TMP_DIR = tempdir()
^~~~~~~
```


This commit breaks building peregrine, maybe others:

```device/motorola/msm8226-common/BoardConfigCommon.mk:134: error: cannot assign to readonly variable: PRODUCT_PROPERTY_OVERRIDES```


Good catch :+1: