{"id":13401077,"url":"https://github.com/ankane/jetpack","last_synced_at":"2025-11-17T14:16:04.171Z","repository":{"id":32614483,"uuid":"136887058","full_name":"ankane/jetpack","owner":"ankane","description":"A friendly package manager for R","archived":false,"fork":false,"pushed_at":"2025-04-15T01:21:17.000Z","size":286,"stargazers_count":242,"open_issues_count":0,"forks_count":16,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-14T04:38:42.665Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ankane.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-11T07:01:53.000Z","updated_at":"2025-04-15T01:21:21.000Z","dependencies_parsed_at":"2024-01-18T11:03:57.180Z","dependency_job_id":"0b698c1e-356a-4451-980c-7e7141c356ec","html_url":"https://github.com/ankane/jetpack","commit_stats":{"total_commits":462,"total_committers":5,"mean_commits":92.4,"dds":0.3311688311688312,"last_synced_commit":"daadadfd25c2ba9a8bad9f51776b2e47b9a15d9b"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fjetpack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fjetpack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fjetpack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fjetpack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane","download_url":"https://codeload.github.com/ankane/jetpack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464891,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T19:00:58.455Z","updated_at":"2025-11-17T14:15:59.125Z","avatar_url":"https://github.com/ankane.png","language":"R","funding_links":[],"categories":["R","others"],"sub_categories":[],"readme":"# Jetpack\n\n:fire: A friendly package manager for R\n\n- Lightweight - adds just three files to your project\n- Designed for reproducibility - thanks to [renv](https://rstudio.github.io/renv/), no more global installs!\n- Works from both R and the command line\n\nInspired by [Yarn](https://yarnpkg.com/), [Bundler](https://bundler.io/), and [Pipenv](https://pipenv.pypa.io/en/latest/)\n\n[![Build Status](https://github.com/ankane/jetpack/actions/workflows/build.yml/badge.svg)](https://github.com/ankane/jetpack/actions) [![CRAN status](https://www.r-pkg.org/badges/version/jetpack)](https://cran.r-project.org/package=jetpack)\n\n## Installation\n\nInstall Jetpack\n\n```r\ninstall.packages(\"jetpack\")\n```\n\n## How It Works\n\nJetpack uses the `DESCRIPTION` file to store your project dependencies. It stores the specific version of each package in `renv.lock`. This makes it possible to have a reproducible environment. You can edit dependencies in the `DESCRIPTION` file directly, but Jetpack provides functions to help with this.\n\n## Getting Started\n\nOpen a project and run:\n\n```r\njetpack::init()\n```\n\n## Commands\n\n### Install\n\nInstall packages for a project\n\n```r\njetpack::install()\n```\n\nThis ensures all the right versions are installed locally. As dependencies change, collaborators should run this command to stay synced.\n\n\u003e Be sure to prefix commands with `jetpack::`. Jetpack isn’t installed in your virtual environment, so `library(jetpack)` won’t work.\n\n### Add\n\nAdd a package\n\n```r\njetpack::add(\"randomForest\")\n```\n\nAdd multiple packages\n\n```r\njetpack::add(c(\"randomForest\", \"DBI\"))\n```\n\nAdd a specific version\n\n```r\njetpack::add(\"DBI@1.2.0\")\n```\n\nAdd from GitHub or another remote source\n\n```r\njetpack::add(\"plyr\", remote=\"hadley/plyr\")\n```\n\nSupports [these remotes](https://cran.r-project.org/package=remotes/vignettes/dependencies.html)\n\nAdd from a specific tag, branch, or commit\n\n```r\njetpack::add(\"plyr\", remote=\"hadley/plyr@v1.8.4\")\n```\n\nAdd from a local source\n\n```r\njetpack::add(\"plyr\", remote=\"local::/path/to/plyr\")\n```\n\n\u003e The local directory must have the same name as the package\n\n### Update\n\nUpdate a package\n\n```r\njetpack::update(\"randomForest\")\n```\n\n\u003e For local packages, run this anytime the package code is changed\n\nUpdate multiple packages\n\n```r\njetpack::update(c(\"randomForest\", \"DBI\"))\n```\n\nUpdate all packages\n\n```r\njetpack::update()\n```\n\n### Remove\n\nRemove a package\n\n```r\njetpack::remove(\"randomForest\")\n```\n\nRemove multiple packages\n\n```r\njetpack::remove(c(\"randomForest\", \"DBI\"))\n```\n\nRemove remotes as well\n\n```r\njetpack::remove(\"plyr\", remote=\"hadley/plyr\")\n```\n\n### Check\n\nCheck that all dependencies are installed\n\n```r\njetpack::check()\n```\n\n### Outdated\n\nShow outdated packages\n\n```r\njetpack::outdated()\n```\n\n## Source Control\n\nBe sure to commit the files Jetpack generates to source control.\n\n## Bioconductor\n\nFor Bioconductor, add the BiocManager package first:\n\n```r\njetpack::add(\"BiocManager\")\n```\n\nThen add other packages:\n\n```r\njetpack::add(\"Biobase\", remote=\"bioc::release/Biobase\")\n```\n\n## Deployment\n\n### Server\n\nInstall Jetpack on the server and run:\n\n```r\njetpack::install(deployment=TRUE)\n```\n\n### Docker\n\nCreate `init.R` with:\n\n```r\ninstall.packages(\"jetpack\")\njetpack::install(deployment=TRUE)\n```\n\nAnd add it into your `Dockerfile`:\n\n```Dockerfile\nFROM r-base\n\nRUN apt-get update \u0026\u0026 apt-get install -qq -y --no-install-recommends \\\n  libxml2-dev libssl-dev libcurl4-openssl-dev libssh2-1-dev\n\nRUN mkdir -p /app\nWORKDIR /app\n\nCOPY init.R DESCRIPTION renv.lock ./\nRUN Rscript init.R\n\nCOPY . .\n\nCMD Rscript app.R\n```\n\n### Heroku\n\nFor the [R buildpack](https://github.com/virtualstaticvoid/heroku-buildpack-r), create `init.R` with:\n\n```r\ninstall.packages(\"jetpack\")\njetpack::install(deployment=TRUE)\n```\n\nAlternatively, you can use [Docker Deploys on Heroku](https://devcenter.heroku.com/articles/container-registry-and-runtime).\n\n## Command Line\n\nJetpack can also be run from the command line. To install the CLI, run:\n\n```r\njetpack::cli()\n```\n\n\u003e On Windows, add `C:\\ProgramData\\jetpack\\bin` to your PATH. See [instructions](https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/) for how to do this.\n\nAll the Jetpack commands are now available\n\n```sh\njetpack init\njetpack install\njetpack add randomForest\njetpack add DBI@1.2.0\njetpack add plyr --remote=hadley/plyr\njetpack update randomForest\njetpack remove DBI\njetpack check\njetpack outdated\n```\n\nYou can also use it to manage global packages\n\n```sh\njetpack global add randomForest\njetpack global update DBI\njetpack global update\njetpack global remove plyr\njetpack global list\njetpack global outdated\n```\n\nYou can even use it to update itself\n\n```sh\njetpack global update jetpack\n```\n\nFor the full list of commands, use:\n\n```sh\njetpack help\n```\n\n## Upgrading\n\nTo upgrade, rerun the [installation instructions](#installation).\n\n## History\n\nView the [changelog](https://github.com/ankane/jetpack/blob/master/NEWS.md)\n\n## Contributing\n\nEveryone is encouraged to help improve this project. Here are a few ways you can help:\n\n- [Report bugs](https://github.com/ankane/jetpack/issues)\n- Fix bugs and [submit pull requests](https://github.com/ankane/jetpack/pulls)\n- Write, clarify, or fix documentation\n- Suggest or add new features\n\nTo get started with development and testing:\n\n```sh\ngit clone https://github.com/ankane/jetpack.git\ncd jetpack\n```\n\nIn R, do:\n\n```r\ninstall.packages(\"devtools\")\ndevtools::install_deps(dependencies=TRUE)\ndevtools::test()\n```\n\nTo test a single file, use:\n\n```r\ndevtools::install() # to use latest updates\ndevtools::test_active_file(\"tests/testthat/test-jetpack.R\")\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fankane%2Fjetpack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fankane%2Fjetpack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fankane%2Fjetpack/lists"}