[R/gen_requirements_helpers.R:2:67:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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:22:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L22) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(elem) > 0){
    ^
```
[R/install_reqs.R:23:8:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L23) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    for(i in elem){
       ^
```
[R/install_reqs.R:24:25:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L24) *style:* **Commas should always have a space after.**
```r
      url = sub(pattern,'',i)
                        ^
```
[R/install_reqs.R:24:25:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L24) *style:* **Only use double-quotes.**
```r
      url = sub(pattern,'',i)
                        ^~
```
[R/install_reqs.R:24:28:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L24) *style:* **Commas should always have a space after.**
```r
      url = sub(pattern,'',i)
                           ^
```
[R/install_reqs.R:25:7:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L25) *warning:* **local variable ‘v’ assigned but may not be used**
```r
      v = vmess(sprintf(INSTALL,url,''),verbose)
      ^
```
[R/install_reqs.R:25:11:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L25) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
      v = vmess(sprintf(INSTALL,url,''),verbose)
          ^~~~~
```
[R/install_reqs.R:25:25:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L25) *warning:* **no visible binding for global variable ‘INSTALL’**
```r
      v = vmess(sprintf(INSTALL,url,''),verbose)
                        ^~~~~~~
```
[R/install_reqs.R:25:33:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L25) *style:* **Commas should always have a space after.**
```r
      v = vmess(sprintf(INSTALL,url,''),verbose)
                                ^
```
[R/install_reqs.R:25:37:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L25) *style:* **Commas should always have a space after.**
```r
      v = vmess(sprintf(INSTALL,url,''),verbose)
                                    ^
```
[R/install_reqs.R:25:37:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L25) *style:* **Only use double-quotes.**
```r
      v = vmess(sprintf(INSTALL,url,''),verbose)
                                    ^~
```
[R/install_reqs.R:25:41:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L25) *style:* **Commas should always have a space after.**
```r
      v = vmess(sprintf(INSTALL,url,''),verbose)
                                        ^
```
[R/install_reqs.R:26:9:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L26) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(!dryrun){
        ^
```
[R/install_reqs.R:28:23:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L28) *style:* **Put spaces around all infix operators.**
```r
                 error=function(x){
                     ~^~
```
[R/install_reqs.R:30:36:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L30) *warning:* **no visible binding for global variable ‘OTHER_FAIL’**
```r
                   message(sprintf(OTHER_FAIL,url))
                                   ^~~~~~~~~~
```
[R/install_reqs.R:30:47:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L30) *style:* **Commas should always have a space after.**
```r
                   message(sprintf(OTHER_FAIL,url))
                                              ^
```
[R/install_reqs.R:41:10:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L41) *style:* **Only use double-quotes.**
```r
  type = 'source'
         ^~~~~~~~
```
[R/install_reqs.R:42:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L42) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!grepl('\\.tar\\.gz$',pkg)){
    ^
```
[R/install_reqs.R:42:13:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L42) *style:* **Only use double-quotes.**
```r
  if(!grepl('\\.tar\\.gz$',pkg)){
            ^~~~~~~~~~~~~~
```
[R/install_reqs.R:42:28:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L42) *style:* **Commas should always have a space after.**
```r
  if(!grepl('\\.tar\\.gz$',pkg)){
                           ^
```
[R/install_reqs.R:43:12:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L43) *style:* **Only use double-quotes.**
```r
    type = 'binary'
           ^~~~~~~~
```
[R/install_reqs.R:45:24:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L45) *style:* **Commas should always have a space after.**
```r
  install.packages(pkg,repos=NULL,type=type)
                       ^
```
[R/install_reqs.R:45:29:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L45) *style:* **Put spaces around all infix operators.**
```r
  install.packages(pkg,repos=NULL,type=type)
                           ~^~
```
[R/install_reqs.R:45:35:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L45) *style:* **Commas should always have a space after.**
```r
  install.packages(pkg,repos=NULL,type=type)
                                  ^
```
[R/install_reqs.R:45:39:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L45) *style:* **Put spaces around all infix operators.**
```r
  install.packages(pkg,repos=NULL,type=type)
                                     ~^~
```
[R/install_reqs.R:59:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L59) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(elem) > 0){
    ^
```
[R/install_reqs.R:60:8:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L60) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    for(i in elem){
       ^
```
[R/install_reqs.R:61:9:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L61) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(is.na(installed[i])){
        ^
```
[R/install_reqs.R:62:30:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L63) *warning:* **local variable ‘v’ assigned but may not be used**
```r
        v = vmess(sprintf(NOT_INSTALLED,i),verbose)
        ^
```
[R/install_reqs.R:63:13:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L63) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
        v = vmess(sprintf(NOT_INSTALLED,i),verbose)
            ^~~~~
```
[R/install_reqs.R:63:27:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L63) *warning:* **no visible binding for global variable ‘NOT_INSTALLED’**
```r
        v = vmess(sprintf(NOT_INSTALLED,i),verbose)
                          ^~~~~~~~~~~~~
```
[R/install_reqs.R:63:41:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L63) *style:* **Commas should always have a space after.**
```r
        v = vmess(sprintf(NOT_INSTALLED,i),verbose)
                                        ^
```
[R/install_reqs.R:63:44:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L63) *style:* **Commas should always have a space after.**
```r
        v = vmess(sprintf(NOT_INSTALLED,i),verbose)
                                           ^
```
[R/install_reqs.R:65:13:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L65) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
        v = vmess(sprintf(INSTALL,i,sprintf(INSTALL_VERSION,version)),verbose)
            ^~~~~
```
[R/install_reqs.R:65:27:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L65) *warning:* **no visible binding for global variable ‘INSTALL’**
```r
        v = vmess(sprintf(INSTALL,i,sprintf(INSTALL_VERSION,version)),verbose)
                          ^~~~~~~
```
[R/install_reqs.R:65:35:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L65) *style:* **Commas should always have a space after.**
```r
        v = vmess(sprintf(INSTALL,i,sprintf(INSTALL_VERSION,version)),verbose)
                                  ^
```
[R/install_reqs.R:65:37:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L65) *style:* **Commas should always have a space after.**
```r
        v = vmess(sprintf(INSTALL,i,sprintf(INSTALL_VERSION,version)),verbose)
                                    ^
```
[R/install_reqs.R:65:45:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L65) *warning:* **no visible binding for global variable ‘INSTALL_VERSION’**
```r
        v = vmess(sprintf(INSTALL,i,sprintf(INSTALL_VERSION,version)),verbose)
                                            ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:65:61:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L65) *style:* **Commas should always have a space after.**
```r
        v = vmess(sprintf(INSTALL,i,sprintf(INSTALL_VERSION,version)),verbose)
                                                            ^
```
[R/install_reqs.R:65:71:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L65) *style:* **Commas should always have a space after.**
```r
        v = vmess(sprintf(INSTALL,i,sprintf(INSTALL_VERSION,version)),verbose)
                                                                      ^
```
[R/install_reqs.R:66:11:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L66) *style:* **Place a space before left parenthesis, except in a function call.**
```r
        if(!dryrun){
          ^
```
[R/install_reqs.R:67:39:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L67) *style:* **Commas should always have a space after.**
```r
          tryCatch(install.packages(i,repos=repo),
                                      ^
```
[R/install_reqs.R:67:44:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L67) *style:* **Put spaces around all infix operators.**
```r
          tryCatch(install.packages(i,repos=repo),
                                          ~^~
```
[R/install_reqs.R:68:25:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L68) *style:* **Put spaces around all infix operators.**
```r
                   error=function(x){
                       ~^~
```
[R/install_reqs.R:70:38:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L70) *warning:* **no visible binding for global variable ‘OTHER_FAIL’**
```r
                     message(sprintf(OTHER_FAIL,i))
                                     ^~~~~~~~~~
```
[R/install_reqs.R:70:49:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L70) *style:* **Commas should always have a space after.**
```r
                     message(sprintf(OTHER_FAIL,i))
                                                ^
```
[R/install_reqs.R:81:21:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Only use double-quotes.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                    ^~~~~~~
```
[R/install_reqs.R:81:29:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Commas should always have a space after.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                            ^
```
[R/install_reqs.R:81:35:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/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:81:41:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Commas should always have a space after.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                                        ^
```
[R/install_reqs.R:81:49:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Put spaces around all infix operators.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                                               ~^~
```
[R/install_reqs.R:81:50:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Only use double-quotes.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                                                 ^~~
```
[R/install_reqs.R:81:55:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Commas should always have a space after.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                                                      ^
```
[R/install_reqs.R:81:55:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Only use double-quotes.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                                                      ^~~~~~
```
[R/install_reqs.R:81:63:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Commas should always have a space after.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                                                              ^
```
[R/install_reqs.R:81:63:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Only use double-quotes.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                                                              ^~~~~
```
[R/install_reqs.R:81:69:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L81) *style:* **Commas should always have a space after.**
```r
  comp = sub(paste0('^.*?(',paste(COMPS,collapse='|'),').*$'),'\\1',req)
                                                                    ^
```
[R/install_reqs.R:82:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L82) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(comp == "=") comp = "=="
    ^
```
[R/install_reqs.R:83:24:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L83) *style:* **Commas should always have a space after.**
```r
  split = strsplit(req,paste(COMPS,collapse='|'))[[1]]
                       ^
```
[R/install_reqs.R:83:30:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/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:83:36:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L83) *style:* **Commas should always have a space after.**
```r
  split = strsplit(req,paste(COMPS,collapse='|'))[[1]]
                                   ^
```
[R/install_reqs.R:83:44:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L83) *style:* **Put spaces around all infix operators.**
```r
  split = strsplit(req,paste(COMPS,collapse='|'))[[1]]
                                          ~^~
```
[R/install_reqs.R:83:45:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L83) *style:* **Only use double-quotes.**
```r
  split = strsplit(req,paste(COMPS,collapse='|'))[[1]]
                                            ^~~
```
[R/install_reqs.R:84:18:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L84) *style:* **Only use double-quotes.**
```r
  package = gsub(' *','',split[1])
                 ^~~~
```
[R/install_reqs.R:84:23:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L84) *style:* **Commas should always have a space after.**
```r
  package = gsub(' *','',split[1])
                      ^
```
[R/install_reqs.R:84:23:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L84) *style:* **Only use double-quotes.**
```r
  package = gsub(' *','',split[1])
                      ^~
```
[R/install_reqs.R:84:26:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L84) *style:* **Commas should always have a space after.**
```r
  package = gsub(' *','',split[1])
                         ^
```
[R/install_reqs.R:85:18:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L85) *style:* **Only use double-quotes.**
```r
  version = gsub(' *','',split[2])
                 ^~~~
```
[R/install_reqs.R:85:23:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L85) *style:* **Commas should always have a space after.**
```r
  version = gsub(' *','',split[2])
                      ^
```
[R/install_reqs.R:85:23:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L85) *style:* **Only use double-quotes.**
```r
  version = gsub(' *','',split[2])
                      ^~
```
[R/install_reqs.R:85:26:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L85) *style:* **Commas should always have a space after.**
```r
  version = gsub(' *','',split[2])
                         ^
```
[R/install_reqs.R:93:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L93) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.na(installed[package])){
    ^
```
[R/install_reqs.R:94:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L94) *warning:* **local variable ‘v’ assigned but may not be used**
```r
    v = vmess(sprintf(NOT_INSTALLED,package),verbose)
    ^
```
[R/install_reqs.R:94:9:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L94) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
    v = vmess(sprintf(NOT_INSTALLED,package),verbose)
        ^~~~~
```
[R/install_reqs.R:94:23:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L94) *warning:* **no visible binding for global variable ‘NOT_INSTALLED’**
```r
    v = vmess(sprintf(NOT_INSTALLED,package),verbose)
                      ^~~~~~~~~~~~~
```
[R/install_reqs.R:94:37:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L94) *style:* **Commas should always have a space after.**
```r
    v = vmess(sprintf(NOT_INSTALLED,package),verbose)
                                    ^
```
[R/install_reqs.R:94:46:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L94) *style:* **Commas should always have a space after.**
```r
    v = vmess(sprintf(NOT_INSTALLED,package),verbose)
                                             ^
```
[R/install_reqs.R:97:23:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/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:112:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L112) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(elem) > 0){
    ^
```
[R/install_reqs.R:113:8:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L113) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    for(i in elem){
       ^
```
[R/install_reqs.R:114:27:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/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/6d073253c92c008920018470d9c9437f38ca3a9a/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:121:9:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L121) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(install_needed){
        ^
```
[R/install_reqs.R:122:11:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L122) *style:* **Place a space before left parenthesis, except in a function call.**
```r
        if(!is.na(installed[package])){
          ^
```
[R/install_reqs.R:123:11:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L123) *warning:* **local variable ‘v’ assigned but may not be used**
```r
          v = vmess(sprintf(BAD_VERSION,package,installed[package]),verbose)
          ^
```
[R/install_reqs.R:123:15:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L123) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
          v = vmess(sprintf(BAD_VERSION,package,installed[package]),verbose)
              ^~~~~
```
[R/install_reqs.R:123:29:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L123) *warning:* **no visible binding for global variable ‘BAD_VERSION’**
```r
          v = vmess(sprintf(BAD_VERSION,package,installed[package]),verbose)
                            ^~~~~~~~~~~
```
[R/install_reqs.R:123:41:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L123) *style:* **Commas should always have a space after.**
```r
          v = vmess(sprintf(BAD_VERSION,package,installed[package]),verbose)
                                        ^
```
[R/install_reqs.R:123:49:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L123) *style:* **Commas should always have a space after.**
```r
          v = vmess(sprintf(BAD_VERSION,package,installed[package]),verbose)
                                                ^
```
[R/install_reqs.R:123:69:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L123) *style:* **Commas should always have a space after.**
```r
          v = vmess(sprintf(BAD_VERSION,package,installed[package]),verbose)
                                                                    ^
```
[R/install_reqs.R:126:30:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/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:129:11:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L129) *warning:* **no visible global function definition for ‘compare_version’, Did you mean 'compareVersion'?**
```r
          compare_version(available_version, version, comp)
          ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:132:11:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L132) *style:* **Place a space before left parenthesis, except in a function call.**
```r
        if(!any(available_compatibility)){
          ^
```
[R/install_reqs.R:134:15:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L134) *warning:* **no visible global function definition for ‘vmess’, Did you mean 'loess'?**
```r
          v = vmess(sprintf(NONE_EXISTS,package),verbose)
              ^~~~~
```
[R/install_reqs.R:134:29:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L134) *warning:* **no visible binding for global variable ‘NONE_EXISTS’**
```r
          v = vmess(sprintf(NONE_EXISTS,package),verbose)
                            ^~~~~~~~~~~
```
[R/install_reqs.R:134:41:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L134) *style:* **Commas should always have a space after.**
```r
          v = vmess(sprintf(NONE_EXISTS,package),verbose)
                                        ^
```
[R/install_reqs.R:134:50:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L134) *style:* **Commas should always have a space after.**
```r
          v = vmess(sprintf(NONE_EXISTS,package),verbose)
                                                 ^
```
[R/install_reqs.R:137:37:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L137) *style:* **Commas should always have a space after.**
```r
          v = vmess(sprintf(INSTALL,package,
                                    ^
```
[R/install_reqs.R:138:53:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L138) *style:* **Commas should always have a space after.**
```r
                            sprintf(INSTALL_VERSION,latest_compatible)),verbose)
                                                    ^
```
[R/install_reqs.R:138:73:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L138) *style:* **Commas should always have a space after.**
```r
                            sprintf(INSTALL_VERSION,latest_compatible)),verbose)
                                                                        ^
```
[R/install_reqs.R:139:13:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L139) *style:* **Place a space before left parenthesis, except in a function call.**
```r
          if(!dryrun){
            ^
```
[R/install_reqs.R:141:55:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L141) *style:* **Put spaces around all infix operators.**
```r
                                               version=latest_compatible,
                                                     ~^~
```
[R/install_reqs.R:142:53:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L142) *style:* **Put spaces around all infix operators.**
```r
                                               repos=repo,
                                                   ~^~
```
[R/install_reqs.R:143:53:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L143) *style:* **Put spaces around all infix operators.**
```r
                                               quiet=TRUE),
                                                   ~^~
```
[R/install_reqs.R:144:27:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L144) *style:* **Put spaces around all infix operators.**
```r
                     error=function(x){
                         ~^~
```
[R/install_reqs.R:146:40:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L146) *warning:* **no visible binding for global variable ‘OTHER_FAIL’**
```r
                       message(sprintf(OTHER_FAIL,i))
                                       ^~~~~~~~~~
```
[R/install_reqs.R:146:51:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L146) *style:* **Commas should always have a space after.**
```r
                       message(sprintf(OTHER_FAIL,i))
                                                  ^
```
[R/install_reqs.R:165:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L165) *style:* **Variable or function name should be snake_case.**
```r
  INSTALL = 'Installing %s %s'
  ^~~~~~~
```
[R/install_reqs.R:165:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L165) *warning:* **local variable ‘INSTALL’ assigned but may not be used**
```r
  INSTALL = 'Installing %s %s'
  ^~~~~~~
```
[R/install_reqs.R:165:13:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L165) *style:* **Only use double-quotes.**
```r
  INSTALL = 'Installing %s %s'
            ^~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:166:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L166) *style:* **Variable or function name should be snake_case.**
```r
  INSTALL_VERSION = 'at version %s'
  ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:166:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L166) *warning:* **local variable ‘INSTALL_VERSION’ assigned but may not be used**
```r
  INSTALL_VERSION = 'at version %s'
  ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:166:21:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L166) *style:* **Only use double-quotes.**
```r
  INSTALL_VERSION = 'at version %s'
                    ^~~~~~~~~~~~~~~
```
[R/install_reqs.R:167:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L167) *style:* **Variable or function name should be snake_case.**
```r
  NOT_INSTALLED = 'NOTE: %s is not currently installed.'
  ^~~~~~~~~~~~~
```
[R/install_reqs.R:167:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L167) *warning:* **local variable ‘NOT_INSTALLED’ assigned but may not be used**
```r
  NOT_INSTALLED = 'NOTE: %s is not currently installed.'
  ^~~~~~~~~~~~~
```
[R/install_reqs.R:167:19:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L167) *style:* **Only use double-quotes.**
```r
  NOT_INSTALLED = 'NOTE: %s is not currently installed.'
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:168:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L168) *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:168:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L168) *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:168:17:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L168) *style:* **Only use double-quotes.**
```r
  BAD_VERSION = 'NOTE: %s is current installed at version %s which is not sufficient.'
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:169:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L169) *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:169:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L169) *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:169:17:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L169) *style:* **Only use double-quotes.**
```r
  NONE_EXISTS = 'ERROR: No version exists for %s which meets requirements.'
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_reqs.R:170:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L170) *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:170:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L170) *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:170:16:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L170) *style:* **Only use double-quotes.**
```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/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L172) *warning:* **local variable ‘installed’ assigned but may not be used**
```r
  installed = get_installed(...)
  ^~~~~~~~~
```
[R/install_reqs.R:172:15:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L172) *warning:* **no visible global function definition for ‘get_installed’**
```r
  installed = get_installed(...)
              ^~~~~~~~~~~~~
```
[R/install_reqs.R:178:35:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L178) *style:* **Only use double-quotes.**
```r
    install_special_req(reqs$git, '^git\\+', devtools::install_git, dryrun, verbose) +
                                  ^~~~~~~~~
```
[R/install_reqs.R:179:35:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L179) *style:* **Only use double-quotes.**
```r
    install_special_req(reqs$svn, '^svn\\+', devtools::install_svn, dryrun, verbose) +
                                  ^~~~~~~~~
```
[R/install_reqs.R:180:36:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L180) *style:* **Only use double-quotes.**
```r
    install_special_req(reqs$bioc, '^bioc\\+', devtools::install_bioc, dryrun, verbose) +
                                   ^~~~~~~~~~
```
[R/install_reqs.R:181:35:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L181) *style:* **Only use double-quotes.**
```r
    install_special_req(reqs$url, '', devtools::install_url, dryrun, verbose) +
                                  ^~
```
[R/install_reqs.R:182:37:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L182) *style:* **Only use double-quotes.**
```r
    install_special_req(reqs$local, '', install_local, dryrun, verbose) +
                                    ^~
```
[R/install_reqs.R:186:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L186) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(failures > 0) stop(paste0('There were ',failures,' package(s) which could not be installed.'))
    ^
```
[R/install_reqs.R:186:32:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L186) *style:* **Only use double-quotes.**
```r
  if(failures > 0) stop(paste0('There were ',failures,' package(s) which could not be installed.'))
                               ^~~~~~~~~~~~~
```
[R/install_reqs.R:186:46:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L186) *style:* **Commas should always have a space after.**
```r
  if(failures > 0) stop(paste0('There were ',failures,' package(s) which could not be installed.'))
                                             ^
```
[R/install_reqs.R:186:55:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L186) *style:* **Commas should always have a space after.**
```r
  if(failures > 0) stop(paste0('There were ',failures,' package(s) which could not be installed.'))
                                                      ^
```
[R/install_reqs.R:186:55:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_reqs.R#L186) *style:* **Only use double-quotes.**
```r
  if(failures > 0) stop(paste0('There were ',failures,' package(s) which could not be installed.'))
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_requirements.R:2:68:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L2) *style:* **Trailing whitespace is superfluous.**
```r
install_requirements <- function(requirements = "requirements.txt",
                                                                   ^
```
[R/install_requirements.R:5:67:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L5) *style:* **Trailing whitespace is superfluous.**
```r
                                 gen = !file.exists(requirements),
                                                                  ^
```
[R/install_requirements.R:6:79:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L6) *style:* **Commas should always have a space after.**
```r
                                 glob_paths = file.path(dirname(requirements),"*.R")) {
                                                                              ^
```
[R/install_requirements.R:18:1:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L18) *style:* **Lines should not be more than 120 characters.**
```r
  #' @param glob_paths Character vector of patterns for relative or absolute filepaths. Missing values will be ignored. See ?Sys.glob for more details.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_requirements.R:25:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L25) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(gen) generate_requirements(glob_paths = glob_paths,
    ^
```
[R/install_requirements.R:27:1:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L27) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/install_requirements.R:28:10:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L28) *warning:* **no visible global function definition for ‘process_requirements_file’**
```r
  reqs = process_requirements_file(requirements)
         ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/install_requirements.R:30:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L30) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(packrat) activate_packrat()
    ^
```
[R/install_requirements.R:30:15:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L30) *warning:* **no visible global function definition for ‘activate_packrat’**
```r
  if(packrat) activate_packrat()
              ^~~~~~~~~~~~~~~~
```
[R/install_requirements.R:33:38:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L33) *style:* **Trailing whitespace is superfluous.**
```r
                     dryrun = dryrun,
                                     ^
```
[R/install_requirements.R:34:40:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L34) *style:* **Trailing whitespace is superfluous.**
```r
                     verbose = verbose,
                                       ^
```
[R/install_requirements.R:37:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/install_requirements.R#L37) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(dryrun) cat("NOTE: This was just a dry run. No packages have been installed.")
    ^
```
[R/read_process_req_file.R:4:1:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L4) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/read_process_req_file.R:5:3:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/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:5:15:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L5) *style:* **Only use double-quotes.**
```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/6d073253c92c008920018470d9c9437f38ca3a9a/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:6:15:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L6) *style:* **Only use double-quotes.**
```r
  EMPTY_ERR = 'The requirements file %s is empty.'
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/read_process_req_file.R:7:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L7) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!file.exists(req)) stop(sprintf(EXIST_ERR, req))
    ^
```
[R/read_process_req_file.R:8:1:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L8) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/read_process_req_file.R:10:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L10) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(content) == 0) stop(sprintf(EMPTY_ERR, req))
    ^
```
[R/read_process_req_file.R:11:1:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L11) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/read_process_req_file.R:12:27:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L12) *style:* **Only use double-quotes.**
```r
  additional_files = grep('^ *\\-r', content, value=TRUE)
                          ^~~~~~~~~
```
[R/read_process_req_file.R:12:52:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L12) *style:* **Put spaces around all infix operators.**
```r
  additional_files = grep('^ *\\-r', content, value=TRUE)
                                                  ~^~
```
[R/read_process_req_file.R:13:5:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L13) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(length(additional_files) > 0){
    ^
```
[R/read_process_req_file.R:14:8:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L14) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    for(af in additional_files){
       ^
```
[R/read_process_req_file.R:15:40:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L15) *style:* **Only use double-quotes.**
```r
      tmp = read_requirements_file(sub('^ *\\-r *','',af))
                                       ^~~~~~~~~~~
```
[R/read_process_req_file.R:15:52:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L15) *style:* **Commas should always have a space after.**
```r
      tmp = read_requirements_file(sub('^ *\\-r *','',af))
                                                   ^
```
[R/read_process_req_file.R:15:52:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L15) *style:* **Only use double-quotes.**
```r
      tmp = read_requirements_file(sub('^ *\\-r *','',af))
                                                   ^~
```
[R/read_process_req_file.R:15:55:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L15) *style:* **Commas should always have a space after.**
```r
      tmp = read_requirements_file(sub('^ *\\-r *','',af))
                                                      ^
```
[R/read_process_req_file.R:23:28:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L23) *style:* **Only use double-quotes.**
```r
  content = content[!grepl('^ *#',content)]
                           ^~~~~~
```
[R/read_process_req_file.R:23:35:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L23) *style:* **Commas should always have a space after.**
```r
  content = content[!grepl('^ *#',content)]
                                  ^
```
[R/read_process_req_file.R:24:28:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L24) *style:* **Only use double-quotes.**
```r
  content = content[!grepl('^ *\\-r',content)]
                           ^~~~~~~~~
```
[R/read_process_req_file.R:24:38:](https://github.com/bmewing/requirements/blob/6d073253c92c008920018470d9c9437f38ca3a9a/R/read_process_req_file.R#L24) *style:* **Commas should always have a space after.**
```r
  content = content[!grepl('^ *\\-r',content)]
                                     ^
```


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

* https://tdjs.tech
* https://tdjstech-git-master.tdjsnelling.now.sh


Please stop changing indentation for `cap_rights_t rights;`. No need for extra diff with upstream.