You'll need to get all the dependencies as @technocrat explained.
There are tools to help with that. For example, minicran 
https://cran.r-project.org/web/packages/miniCRAN/index.html
First, It will help you easily identify package dependencies, but also help you create a local subset of CRAN with the packages you need.
library("miniCRAN")
pkgDep("tidyverse")
#> [1] "tidyverse" "broom" "cli" "crayon"
#> [5] "dplyr" "dbplyr" "forcats" "ggplot2"
#> [9] "haven" "hms" "httr" "jsonlite"
#> [13] "lubridate" "magrittr" "modelr" "purrr"
#> [17] "readr" "readxl" "reprex" "rlang"
#> [21] "rstudioapi" "rvest" "stringr" "tibble"
#> [25] "tidyr" "xml2" "backports" "generics"
#> [29] "nlme" "reshape2" "assertthat" "DBI"
#> [33] "glue" "R6" "tidyselect" "pkgconfig"
#> [37] "Rcpp" "BH" "plogr" "ellipsis"
#> [41] "digest" "gtable" "lazyeval" "MASS"
#> [45] "mgcv" "scales" "viridisLite" "withr"
#> [49] "vctrs" "curl" "mime" "openssl"
#> [53] "clipr" "cellranger" "progress" "callr"
#> [57] "fs" "rmarkdown" "whisker" "selectr"
#> [61] "stringi" "fansi" "pillar" "lifecycle"
#> [65] "processx" "rematch" "Matrix" "lattice"
#> [69] "askpass" "utf8" "prettyunits" "plyr"
#> [73] "knitr" "yaml" "htmltools" "evaluate"
#> [77] "base64enc" "tinytex" "xfun" "labeling"
#> [81] "munsell" "RColorBrewer" "zeallot" "sys"
#> [85] "highr" "markdown" "colorspace" "ps"
#> [89] "feather"
There is 86
you need to install it seems.
You can follow the advice from the vignette to create a local CRAN in a folder, download those
into it. Then after moving the whole folder into you offline server, you would configure install.packages to use you local CRAN on your file system.
install.packages(pkgs,
repos = paste0("file:///", pth_to_local_cran),
type = "source") # win.bin for windows if you download them
https://cran.r-project.org/web/packages/miniCRAN/vignettes/miniCRAN-introduction.html
This is one way of achieving this.
You can also use some products to be CRAN mirrors for offline environment. Look at RStudio Package Manager - RStudio
hope it helps.