[R/gen_requirements_helpers.R:2:67:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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:3:17:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L3) *style:* **Put spaces around all infix operators.**
```r
           error=function(x){packrat::init();packrat::on()})
               ~^~
```
[R/requirements_helpers.R:3:29:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L3) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
           error=function(x){packrat::init();packrat::on()})
                            ^
```
[R/requirements_helpers.R:12:16:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L12) *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:12:53:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L12) *style:* **Commas should always have a space after.**
```r
  return(grepl(CANONICAL_PACKAGE_NAME_RE_STANDALONE,name))
                                                    ^
```
[R/requirements_helpers.R:58:37:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L58) *style:* **Only use double-quotes.**
```r
  compatible_version_wildcard = sub('(.*\\.)(.+)', '\\1*', target)
                                    ^~~~~~~~~~~~~
```
[R/requirements_helpers.R:58:52:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L58) *style:* **Only use double-quotes.**
```r
  compatible_version_wildcard = sub('(.*\\.)(.+)', '\\1*', target)
                                                   ^~~~~~
```
[R/requirements_helpers.R:61:58:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L61) *style:* **Only use double-quotes.**
```r
  compare_version(existing, compatible_version_wildcard, '==') &
                                                         ^~~~
```
[R/requirements_helpers.R:62:39:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L62) *style:* **Only use double-quotes.**
```r
    compare_version(existing, target, '>=')
                                      ^~~~
```
[R/requirements_helpers.R:85:28:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L85) *warning:* **no visible global function definition for ‘compare_compatible_version’**
```r
  if (comp == "~=") return(compare_compatible_version(existing, target))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/requirements_helpers.R:88:35:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L88) *style:* **Only use double-quotes.**
```r
  is_equality_check = comp %in% c('>=', '<=', '~=', '==')
                                  ^~~~
```
[R/requirements_helpers.R:88:41:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L88) *style:* **Only use double-quotes.**
```r
  is_equality_check = comp %in% c('>=', '<=', '~=', '==')
                                        ^~~~
```
[R/requirements_helpers.R:88:47:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L88) *style:* **Only use double-quotes.**
```r
  is_equality_check = comp %in% c('>=', '<=', '~=', '==')
                                              ^~~~
```
[R/requirements_helpers.R:88:53:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L88) *style:* **Only use double-quotes.**
```r
  is_equality_check = comp %in% c('>=', '<=', '~=', '==')
                                                    ^~~~
```
[R/requirements_helpers.R:91:6:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L91) *warning:* **no visible global function definition for ‘equivalent_version’**
```r
  is_equivalent_version = equivalent_version(existing, target)
     ^~~~~~~~~~~~~~~~~~
```
[R/requirements_helpers.R:97:31:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L97) *style:* **Only use double-quotes.**
```r
  non_wild_card_target = gsub('*', '0', target, fixed = TRUE)
                              ^~~
```
[R/requirements_helpers.R:97:36:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L97) *style:* **Only use double-quotes.**
```r
  non_wild_card_target = gsub('*', '0', target, fixed = TRUE)
                                   ^~~
```
[R/requirements_helpers.R:109:5:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L109) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.null(dummy)){
    ^
```
[R/requirements_helpers.R:112:34:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L112) *style:* **Commas should always have a space after.**
```r
    return(installed.packages()[,3])
                                 ^
```
[R/requirements_helpers.R:139:20:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L139) *style:* **Commas should always have a space after.**
```r
vmess = function(x,v){
                   ^
```
[R/requirements_helpers.R:145:5:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/R/requirements_helpers.R#L145) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(v){
    ^
```
[tests/testthat/test_gen_requirements.R:1:9:](https://github.com/bmewing/requirements/blob/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/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/70bc99e21998c8d9f434d2ddd31413669b096184/tests/testthat/test_install_requirements.R#L29) *style:* **Only use double-quotes.**
```r
  expect_equal(process_requirements_file('testdata/requirements_2.txt')[['versioned']],
                                                                         ^~~~~~~~~~~
```


thanks, will follow from next time.


Created multidev environment [rescue-x-comms#v0-5](https://dashboard.pantheon.io/sites/9dc3b9a0-4853-4dfd-b01f-6fe8cb0d08fd#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-comms.pantheonsite.io/)


I wasn't able to retrieve PDD puzzles from the code base and submit them to GitHub. If you think that it's a bug on our side, please submit it to [yegor256/0pdd](https://github.com/yegor256/0pdd/issues):

> set -x && set -e && set -o pipefail && cd /tmp/0pdd20190401-4-14drr2s/zerocracy/zerocracy.github.io && pdd -v -f /tmp/20190401-7168-195scsd [1]: bash: warning: setlocale: LC_ALL: cannot change locale (UTF-8) + set -e + set -o pipefail + cd /tmp/0pdd20190401-4-14drr2s/zerocracy/zerocracy.github.io...

Please, copy and paste this stack trace to GitHub:

```
UserError
set -x && set -e && set -o pipefail && cd /tmp/0pdd20190401-4-14drr2s/zerocracy/zerocracy.github.io && pdd -v -f /tmp/20190401-7168-195scsd [1]:
bash: warning: setlocale: LC_ALL: cannot change locale (UTF-8)
+ set -e
+ set -o pipefail
+ cd /tmp/0pdd20190401-4-14drr2s/zerocracy/zerocracy.github.io
+ pdd -v -f /tmp/20190401-7168-195scsd

Found 6 lines in /tmp/0pdd20190401-4-14drr2s/zerocracy/zerocracy.github.io/.pdd
My version is 0.20.4
Ruby version is 2.6.0 at x86_64-linux
Reading .
Excluding **/*.png
50 file(s) found, 271 excluded
/tmp/0pdd20190401-4-14drr2s/zerocracy/zerocracy.github.io/logo.sketch is a binary file (5957 bytes)
Reading _posts/2018/10/2018-10-18-testimonials.md...
Reading _posts/2018/10/2018-10-01-remote-work.md...
Reading _posts/2018/02/2018-02-22-policy.md...
Reading _posts/2018/02/2018-02-22-terms.md...
Reading _posts/2018/08/2018-08-27-penalty-for-refusal.md...
Reading _posts/2018/08/2018-08-26-ninety-days.md...
Reading _posts/2018/06/2018-09-11-boilerplate.md...
Reading _posts/2018/06/2018-06-26-faq.md...
ERROR: _posts/2018/06/2018-06-26-faq.md; puzzle at line #64; TODO found, but puzzle can't be parsed, most probably because TODO is not followed by a puzzle marker, as this page explains: https://github.com/yegor256/pdd#how-to-format
If you can't understand the cause of this issue or you don't know how to fix it, please submit a GitHub issue, we will try to help you: https://github.com/yegor256/pdd/issues. This tool is still in its beta version and we will appreciate your feedback. Here is where you can find more documentation: https://github.com/yegor256/pdd/blob/master/README.md.
Exit code is 1

/app/objects/git_repo.rb:66:in `rescue in block in xml'
/app/objects/git_repo.rb:63:in `block in xml'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/tempfile.rb:295:in `open'
/app/objects/git_repo.rb:62:in `xml'
/app/objects/puzzles.rb:36:in `deploy'
/app/objects/job.rb:38:in `proceed'
/app/objects/job_starred.rb:33:in `proceed'
/app/objects/job_recorded.rb:32:in `proceed'
/app/objects/job_emailed.rb:35:in `proceed'
/app/objects/job_commiterrors.rb:36:in `proceed'
/app/objects/job_detached.rb:48:in `exclusive'
/app/objects/job_detached.rb:36:in `block in proceed'
/app/objects/job_detached.rb:36:in `fork'
/app/objects/job_detached.rb:36:in `proceed'
/app/0pdd.rb:354:in `block in <top (required)>'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1635:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1635:in `block in compile!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:992:in `block (3 levels) in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1011:in `route_eval'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:992:in `block (2 levels) in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1040:in `block in process_route'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1038:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1038:in `process_route'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:990:in `block in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:989:in `each'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:989:in `route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1097:in `block in dispatch!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `block in invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1094:in `dispatch!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:924:in `block in call!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `block in invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:924:in `call!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:913:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/xss_header.rb:18:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/path_traversal.rb:16:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/json_csrf.rb:26:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/frame_options.rb:31:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/logger.rb:15:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/common_logger.rb:33:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:231:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:224:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/head.rb:12:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/method_override.rb:22:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:194:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1957:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1502:in `block in call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1729:in `synchronize'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1502:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/handler/webrick.rb:86:in `service'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/httpserver.rb:140:in `service'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/httpserver.rb:96:in `run'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/server.rb:307:in `block in start_thread'
```


Thanks. The sign-file command (when run with sudo) seems to have worked, so I would expect the "wacom.ko" file to have a signature applied. The modinfo command seems to indicate that *some* kind of signature is present, but it doesn't give the details (seems to be a bug with that version of modinfo).

I wonder if the MOK simply isn't enrolled for some reason? Could you run `sudo update-secureboot-policy --enroll-key`? If the key is already enrolled it shouldn't do anything -- let me know if this happens. If, however, it gives you an "input password" prompt, follow [these instructions](https://github.com/linuxwacom/input-wacom/wiki/Secure-Boot#ubuntu-mint-debian) starting at step 3 and then let me know if anything is different afterwards.


Corrigé


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

* https://timdeschryver.dev
* https://www.timdeschryver.dev
* https://timdeschryverdev-git-master.timdeschryver.now.sh


It looks like you missed the `h` at the end of `dlech`.


<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.7708581a20a410c347d530523784b8624d336fd0
```

You have the scopes:

```
[
  "assume:project:taskcluster:mozilla-github-repository",
  "assume:repo:github.com/kglazko/reference-browser:branch:master",
  "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:master",
    "queue:route:statuses",
    "queue:route:tc-treeherder.v2.reference-browser.7708581a20a410c347d530523784b8624d336fd0",
    {
      "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:39:02.228Z

</details>


1)  Standard methods are referenced in sub-sections
2)  I'm defaulting to Don Anderson and Dave Kulis on this assessment.


Did you seriously just write this? What sense does it make?


🎉

I suggest you also tweak the roxygen Title, which currently reads "within an **installed** package".


Tutorial: Tutorial: https://learnwagtail.com/tutorials/headless-cms-image-rendition-field/

YouTube Video: https://youtu.be/h5v-iZ8GdZk


Successfully aliased the URL <https://timdeschryverdev-6l8so0hq2.now.sh> to the following aliases.

* https://timdeschryver.dev
* https://www.timdeschryver.dev
* https://timdeschryverdev-git-master.timdeschryver.now.sh


why is a=b


met un commentaire indiquant que qq va dev ici