'How to install project dependencies in R?

At work I received an old shiny application bundle. In there there is both a manifest.json file. Coming from python, the file looks like it could rebuild the original dependecies. The question is, how do install it in my current setup? I would like to have the equivalent of a poetry install or pip install -r requirements.txt



Solution 1:[1]

Thanks to the comment, I made my own solution that worked well.

First create a requirements.txt with a python script.

"""
Read a manifest.json and output a requirements.txt file
"""
import json

file = 'manifest.json'
out = 'requirements.txt'

with open(file) as json_file:
  data = json.load(json_file)

with open(out, 'w') as f:
  for pkg_name in data['packages'].keys():
      pkg_version = data['packages'][pkg_name]['description']['Version']
      res = f'{pkg_name} {pkg_version} \n'
      f.write(res)

Then install all the old dependencies with this bash script

while IFS=" " read -r package version; 
do
   Rscript -e "devtools::install_version('"$package"', version='"$version"')"; 
done < "requirements.txt"

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 DaveR