The aim of devtools
is to make your life as a package developer easier by providing R functions that simplify many common tasks. R packages are actually really simple, and with the right tools it should be easier to use the package structure than not. Package development in R can feel intimidating, but devtools does every thing it can to make it as welcoming as possible. devtools
comes with a small guarantee: if because of a bug in devtools a member of R-core gets angry with you, I will send you a handwritten apology note. Just forward me the email and your address, and I'll get a card in the mail.
Shiny combines the computational power of R with the interactivity of the modern web. Get Started See Gallery. Here is a Shiny app. Shiny apps are easy to write. Power Tools For more than 100 years, professionals have relied on Ingersoll Rand for quality and performance on the toughest jobs. Our advanced engineering and manufacturing have a standard of excellence often copied, but never matched. When it comes to assembly tools, industrial tools, cordless tools and vehicle service tools, don't settle for.
R version 4.1.1 (Kick Things) prerelease versions will appear starting Saturday 2021-07-31. Final release is scheduled for Tuesday 2021-08-10. R version 4.1.0 (Camp Pontanezen) has been released on 2021-05-18. R version 4.0.5 (Shake and Throw) was released on 2021-03-31. Thanks to the organisers of useR! 2020 for a successful online conference.
devtools
is opinionated about how to do package development, and requires that you use roxygen2
for documentation and testthat
for testing. Not everyone agrees with these opinions, and they are by no means perfect, but they have evolved during the process of writing over 30 R packages. I'm always happy to hear about what doesn't work for you, and any places where devtools gets in your way. Either send an email to the rdevtools mailing list or file an issue.
- Using Rtools40 on Windows. Starting with R 4.0.0 (released April 2020), R for Windows uses a toolchain bundle called rtools40. This version of Rtools includes gcc 8.3.0, and introduces a new build system based on msys2, which makes easier to build and maintain R itself as well as the system libraries needed by R packages on Windows.
- KAR Industrial Inc. Has long been recognized as a leading supplier of machine tool accessories, cutting tools and manufacturing related supplies. KAR has spent many years positioning itself as a master distributor serving distribution throughout Canada and it all began in 1954 in Montreal, Quebec.
Updating to the latest version of devtools
You can track (and contribute to) development of devtools
at https://github.com/hadley/devtools. To install it:
Install the release version of
devtools
from CRAN withinstall.packages('devtools')
.- Make sure you have a working development environment.
- Windows: Install Rtools.
- Mac: Install Xcode from the Mac App Store.
- Linux: Install a compiler and various development libraries (details vary across differnet flavors of Linux).
Follow the instructions below depending on platform.
Mac and Linux:
Windows:
R Tools For Visual Studio 2019
Package development tools
All devtools
functions accept a path as an argument, e.g. load_all('path/to/path/mypkg')
. If you don't specify a path, devtools
will look in the current working directory - this is recommend practice.
Frequent development tasks:
load_all()
simulates installing and reloading your package, loading R code inR/
, compiled shared objects insrc/
and data files indata/
. During development you usually want to access all functions soload_all()
ignores the packageNAMESPACE
.load_all()
will automatically create aDESCRIPTION
if needed.document()
updates documentation, file collation andNAMESPACE
.test()
reloads your code, then runs alltestthat
tests.
Building and installing:
install()
reinstalls the package, detaches the currently loaded version then reloads the new version withlibrary()
. Reloading a package is not guaranteed to work: see the documentation tounload()
for caveats.build()
builds a package file from package sources. You can can use it to build a binary version of your package.install_github()
installs an R package from github,install_gitorious()
from gitorious,install_bitbucket()
from bitbucket,install_url()
from an arbitrary url andinstall_file()
from a local file on disk.install_version()
installs a specified version from cran.
Check and release:
check()
updates the documentation, then builds and checks the package.build_win()
builds a package using win-builder, allowing you to easily check your package on windows.run_examples()
will run all examples to make sure they work. This is useful because example checking is the last step ofR CMD check
.check_doc()
runs most of the documentation checking components ofR CMD check
release()
makes sure everything is ok with your package (including asking you a number of questions), then builds and uploads to CRAN. It also drafts an email to let the CRAN maintainers know that you've uploaded a new package.
Other commands:
bash()
opens a bash shell in your package directory so you can use git or other command line tools.wd()
changes the working directory to a path relative to the package root.
Development mode
Calling dev_mode()
will switch your version of R into 'development mode'. In this mode, R will install packages to ~/R-dev
. This is useful to avoid clobbering the existing versions of CRAN packages that you need for other tasks. Calling dev_mode()
again will turn development mode off, and return you to your default library setup.
Other tips
I recommend adding the following code to your .Rprofile
:
See the complete list in ?devtools
This will set up R to:
R Tools Rstudio
- always install packages from the RStudio CRAN mirror
- ignore newlines when
browse()
ing - give minimal output from
traceback()
- automatically load
devtools
in interactive sessions
R Tools For Visual Studio
There are also a number of options you might want to set (in .Rprofile
) to customise the default behaviour when creating packages and drafting emails:
R Tools Alteryx
devtools.name
: your name, used to sign emailsdevtools.desc.author
: your R author string, in the form of'Hadley Wickham <h.wickham@gmail.com> [aut, cre]'
. Used when creating defaultDESCRIPTION
files.devtools.desc.license
: a default license used when creating new packages