{"size": 1651, "ext": "scrbl", "max_stars_repo_path": "pkgs/racket-doc/scribblings/guide/compile.scrbl", "max_stars_repo_name": "lkh01/racket", "max_stars_repo_stars_event_min_datetime": "2018-07-29T04:13:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-02-14T16:11:17.000Z", "max_issues_repo_path": "pkgs/racket-doc/scribblings/guide/compile.scrbl", "max_issues_repo_name": "lkh01/racket", "max_issues_repo_issues_event_min_datetime": "2017-08-25T20:26:37.000Z", "max_issues_repo_issues_event_max_datetime": "2022-02-26T17:48:40.000Z", "max_forks_repo_path": "pkgs/racket-doc/scribblings/guide/compile.scrbl", "max_forks_repo_name": "lkh01/racket", "max_forks_repo_forks_event_min_datetime": "2016-04-25T11:47:57.000Z", "max_forks_repo_forks_event_max_datetime": "2017-05-09T14:52:48.000Z"}
{"max_stars_count": 10, "max_issues_count": 15, "max_forks_count": 3, "avg_line_length": 31.75, "max_line_length": 70, "alphanum_fraction": 0.7498485766}
#lang scribble/doc
@(require scribble/manual "guide-utils.rkt")

@title[#:tag "compile"]{Compilation and Configuration: @exec{raco}}

The @exec{raco} (short for ``@bold{Ra}cket @bold{co}mmand'') program
provides a command-line interface to many additional tools for
compiling Racket programs and maintaining a Racket installation.

@itemize[

 @item{@exec{raco make} compiles Racket source to bytecode.

 For example, if you have a program @filepath{take-over-world.rkt} and
 you'd like to compile it to bytecode, along with all of its
 dependencies, so that it loads more quickly, then run

   @commandline{raco make take-over-the-world.rkt}

 The bytecode file is written as @filepath{take-over-the-world_rkt.zo}
 in a @filepath{compiled} subdirectory; @index[".zo"]{@filepath{.zo}}
 is the file suffix for a bytecode file.}


 @item{@exec{raco setup} manages a Racket installation, including
 manually installed packages.

 For example, if you create your own library @techlink{collection}
 called @filepath{take-over}, and you'd like to build all bytecode and
 documentation for the collection, then run

   @commandline{raco setup take-over}}


 @item{@exec{raco pkg} manages @tech{package}s that can be installed
 through the Racket package manager.

 For example, to see the list of installed packages run:

    @commandline{raco pkg show}

 To install a new package named @tt{<package-name>} run:

    @commandline{raco pkg install <package-name>}

 See @other-doc['(lib "pkg/scribblings/pkg.scrbl")] for more details
 about package management.}
]

For more information on @exec{raco}, see @other-manual['(lib
"scribblings/raco/raco.scrbl")].
