Fetching contributors…
Cannot retrieve contributors at this time
78 lines (51 sloc) 3.41 KB
title: Managing Custom Buildpacks
owner: Buildpacks
<strong><%= modified_date %></strong>
This topic describes how an admin can manage additional buildpacks in Cloud Foundry using the Cloud Foundry Command Line Interface tool (cf CLI).
If your application uses a language or framework that the Cloud Foundry system buildpacks do not support, you can take one of the following actions:
* [Write your own buildpack](../buildpacks/custom.html)
* Customize an existing buildpack
* Use a [Cloud Foundry Community Buildpack](
* Use a [Heroku Third-Party Buildpack](
## <a id="add"></a>Add a Buildpack ##
<p class="note"><strong>Note</strong>: You must be a Cloud Foundry admin user to run the commands discussed in this section.</p>
To add a buildpack, run the `cf create-buildpack BUILDPACK PATH POSITION [--enable|--disable]` command. The arguments to [cf create-buildpack]( specify the following:
* **BUILDPACK** specifies the buildpack name.
* **PATH** specifies the location of the buildpack.
PATH can point to a zip file, the URL of a zip file, or a local directory.
* **POSITION** specifies where to place the buildpack in the detection
priority list. For more information, see the [Buildpack Detection](../buildpacks/detection.html) topic.
* **enable** or **disable** specifies whether to allow apps to be pushed
with the buildpack.
This argument is optional, and defaults to enable.
When a buildpack is disabled, app developers cannot push apps using that buildpack.
To confirm that you have successfully added a buildpack, run `cf buildpacks`.
The following example shows the output from running the `cf buildpacks` command after an administrator adds a Python buildpack:
<pre class=terminal>
$ cf buildpacks
Getting buildpacks...
buildpack position enabled locked filename
ruby_buildpack 1 true false
nodejs_buildpack 2 true false
java_buildpack 3 true false
python_buildpack 4 true false
## <a id="rename"></a> Rename a Buildpack
To rename a builpack, run `cf rename-buildpack BUILDPACK-NAME NEW-BUILDPACK-NAME`. Replace `BUILDPACK-NAME` with the original buildpack name, and `NEW-BUILDPACK-NAME` with the new buildpack name.
For more information about renaming buildpack, see the [cf CLI documentation](
## <a id="update"></a> Update a Buildpack
<pre class="terminal">
$ cf update-buildpack BUILDPACK [-p PATH] [-i POSITION] [-s STACK] [--enable|--disable] [--lock|--unlock]
For more information about updating buildpacks, see the [cf CLI documentation](
## <a id="delete"></a> Delete a Buildpack
<pre class="terminal">
$ cf delete-buildpack BUILDPACK [-s STACK] [-f]
For more information about deleting buildpacks, see the [cf CLI documentation](
## <a id="lock"></a> Lock and Unlock a Buildpack
<%= partial "lock_buildpack" %>
## <a id="disabling-custom-buildpacks"></a>Disabling Custom Buildpacks ##