conan export
$ conan export [-h] [-k] [-l LOCKFILE] [--lockfile-out LOCKFILE_OUT]
[--ignore-dirty]
path [reference]
Copies the recipe (conanfile.py & associated files) to your local cache.
Use the ‘reference’ param to specify a user and channel where to export it. Once the recipe is in the local cache it can be shared and reused with any remote with the ‘conan upload’ command.
positional arguments:
path Path to a folder containing a conanfile.py or to a
recipe file e.g., my_folder/conanfile.py
reference user/channel, Pkg/version@user/channel (if name and
version are not declared in the conanfile.py)
Pkg/version@ if user/channel is not relevant.
optional arguments:
-h, --help show this help message and exit
-k, -ks, --keep-source
Do not remove the source folder in the local cache,
even if the recipe changed. Use this for testing
purposes only
-l LOCKFILE, --lockfile LOCKFILE
Path to a lockfile file.
--lockfile-out LOCKFILE_OUT
Filename of the updated lockfile
--ignore-dirty When using the "scm" feature with "auto" values,
capture the revision and url even if there are
uncommitted changes
The reference
field can be:
A complete package reference:
pkg/version@user/channel
. In this case, the recipe doesn’t need to declare the name or the version. If the recipe declares them, they should match the provided values in the command line.The user and channel:
user/channel
. The command will assume that the name and version are provided by the recipe.The version, user and channel:
version@user/channel
. The recipe must provide the name, and if it does provide the version, it should match the command line one.
There is also a “recipe_linter” hook in the official hooks repository that can be activated to run automatic linter checks on the recipes when they are exported.
Examples
Export a recipe using a full reference. Only valid if
name
andversion
are not declared in the recipe:$ conan export . mylib/1.0@myuser/channel
Same as above, but without any
user/channel
. The ending@
is here to disambiguate from theuser/channel
part:$ conan export . mylib/1.0@
Export a recipe from any folder directory, under the
myuser/stable
user and channel:$ conan export ./folder_name myuser/stable
Export a recipe without removing the source folder in the local cache:
$ conan export . fenix/stable -k