appDependencies {rsconnect}R Documentation

Detect Application Dependencies

Description

Recursively detect all package dependencies for an application. This function parses all .R files in the application directory to determine what packages the application depends on; and for each of those packages what other packages they depend on.

Usage

appDependencies(appDir = getwd(), appFiles = NULL)

Arguments

appDir

Directory containing application. Defaults to current working directory.

appFiles

The files and directories to bundle and deploy (only if upload = TRUE). Can be NULL, in which case all the files in the directory containing the application are bundled. Takes precedence over appFileManifest if both are supplied.

Details

Dependencies are determined by parsing application source code and looking for calls to library, require, ::, and :::.

Recursive dependencies are detected by examining the Depends, Imports, and LinkingTo fields of the packages immediately dependend on by the application.

Value

Returns a data frame listing the package dependencies detected for the application:

package Name of package
version Version of package

Note

Since the Suggests field is not included when determining recursive dependencies of packages, it's possible that not every package required to run your application will be detected.

In this case, you can force a package to be included dependency by inserting call(s) to require within your source directory. This code need not actually execute, for example you could create a standalone file named dependencies.R with the following code:

require(xts)
require(colorspace)

This will force the xts and colorspace packages to be installed along with the rest of your application when it is deployed.

See Also

Using Packages with rsconnect

Examples

## Not run: 

# dependencies for the app in the current working dir
appDependencies()

# dependencies for an app in another directory
appDependencies("~/projects/shiny/app1")

## End(Not run)

[Package rsconnect version 0.8.8 Index]