pio platform install

Usage

pio platform install [OPTIONS] [PLATFORM...]

# [PLATFORM...] forms
pio platform install <name>
pio platform install <name>@<version>
pio platform install <name>@<version range>
pio platform install <ownername>@<version>
pio platform install <ownername>@<version range>
pio platform install <zip or tarball url>
pio platform install file://<zip or tarball file>
pio platform install file://<folder>
pio platform install <repository>
pio platform install <name=repository> (name it should have locally)
pio platform install <repository#tag> ("tag" can be commit, branch or tag)

Options

--with-package

Install specified package (or alias)

--without-package

Do not install specified package (or alias)

--skip-default

Skip default packages

--with-all-packages

Install all declared packages in platform.json

-f, --force

Reinstall/redownload development platform and its packages if they exist

Description

Install Development Platforms and dependent packages.

The version supports Semantic Versioning ( <major>.<minor>.<patch>) and can take any of the following forms:

  • ^1.2.3 - any compatible version (new functionality in a backwards compatible manner and patches are allowed, 1.x.x). RECOMMENDED

  • ~1.2.3 - any version with the same major and minor versions, and an equal or greater patch version

  • >1.2.3 - any version greater than 1.2.3. >=, <, and <= are also possible

  • >0.1.0,!=0.2.0,<0.3.0 - any version greater than 0.1.0, not equal to 0.2.0 and less than 0.3.0

  • 1.2.3 - an exact version number. Use only this exact version.

Also, PlatformIO supports installing from local directory or archive. Need to use file:// prefix before local path. Also, directory or archive should contain platform.json manifest.

  • file:///local/path/to/the/platform/dir

  • file:///local/path/to/the/platform.zip

  • file:///local/path/to/the/platform.tar.gz

Version control

PlatformIO supports installing from Git, Mercurial and Subversion, and detects the type of VCS using url prefixes: “git+”, “hg+”, or “svn+”.

Note

PlatformIO requires a working VCS command on your path: git, hg or svn.

Git

The supported schemes are: git, git+https and git+ssh. Here are the supported forms:

  • https://github.com/platformio/platform-NAME.git

  • git+git://git.server.org/my-platform

  • git+https://git.server.org/my-platform

  • git+ssh://git.server.org/my-platform

  • git+ssh://user@git.server.org/my-platform

  • [user@]host.xz:path/to/repo.git

Passing branch names, a commit hash or a tag name is possible like so:

Mercurial

The supported schemes are: hg+http, hg+https and hg+ssh. Here are the supported forms:

  • hg+hg://hg.server.org/my-platform

  • hg+https://hg.server.org/my-platform

  • hg+ssh://hg.server.org/my-platform

Passing branch names, a commit hash or a tag name is possible like so:

  • hg+hg://hg.server.org/my-platform#master

  • hg+https://hg.server.org/my-platform#v1.0

  • hg+ssh://hg.server.org/my-platform#4cfe2fa00668

Subversion

The supported schemes are: svn, svn+svn, svn+http, svn+https and svn+ssh. Here are the supported forms:

  • svn+svn://svn.server.org/my-platform

  • svn+https://svn.server.org/my-platform

  • svn+ssh://svn.server.org/my-platform

You can also give specific revisions to an SVN URL, like so:

  • svn+svn://svn.server.org/my-platform#13

Examples

  1. Install Atmel AVR with default packages

> pio platform install atmelavr

PlatformManager: Installing atmelavr
Downloading...
Unpacking  [####################################]  100%
atmelavr @ 0.0.0 has been successfully installed!
PackageManager: Installing tool-scons @ >=2.3.0,<2.6.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
tool-scons @ 2.4.1 has been successfully installed!
PackageManager: Installing toolchain-atmelavr @ ~1.40801.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
toolchain-atmelavr @ 1.40801.0 has been successfully installed!
The platform 'atmelavr' has been successfully installed!
The rest of packages will be installed automatically depending on your build environment.
  1. Install Atmel AVR with uploader utility only and skip default packages

> pio platform install atmelavr --skip-default-package --with-package=uploader

PlatformManager: Installing atmelavr
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
atmelavr @ 0.0.0 has been successfully installed!
PackageManager: Installing tool-micronucleus @ ~1.200.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
tool-micronucleus @ 1.200.0 has been successfully installed!
PackageManager: Installing tool-avrdude @ ~1.60001.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
tool-avrdude @ 1.60001.1 has been successfully installed!
The platform 'atmelavr' has been successfully installed!
The rest of packages will be installed automatically depending on your build environment.
  1. Install the latest development Atmel AVR from Git repository

> pio platform install https://github.com/platformio/platform-atmelavr.git

PlatformManager: Installing platform-atmelavr
git version 2.7.4 (Apple Git-66)
Cloning into '/Volumes/MEDIA/tmp/pio3_test_projects/arduino-digihead-master/home_dir/platforms/installing-U3ucN0-package'...
remote: Counting objects: 176, done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 176 (delta 114), reused 164 (delta 109), pack-reused 0
Receiving objects: 100% (176/176), 38.86 KiB | 0 bytes/s, done.
Resolving deltas: 100% (114/114), done.
Checking connectivity... done.
Submodule 'examples/arduino-external-libs/lib/OneWire' (https://github.com/PaulStoffregen/OneWire.git) registered for path 'examples/arduino-external-libs/lib/OneWire'
Cloning into 'examples/arduino-external-libs/lib/OneWire'...
remote: Counting objects: 91, done.
remote: Total 91 (delta 0), reused 0 (delta 0), pack-reused 91
Unpacking objects: 100% (91/91), done.
Checking connectivity... done.
Submodule path 'examples/arduino-external-libs/lib/OneWire': checked out '57c18c6de80c13429275f70875c7c341f1719201'
atmelavr @ 0.0.0 has been successfully installed!
PackageManager: Installing tool-scons @ >=2.3.0,<2.6.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
tool-scons @ 2.4.1 has been successfully installed!
PackageManager: Installing toolchain-atmelavr @ ~1.40801.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
toolchain-atmelavr @ 1.40801.0 has been successfully installed!
The platform 'https://github.com/platformio/platform-atmelavr.git' has been successfully installed!
The rest of packages will be installed automatically depending on your build environment.