You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: bundled installers for all, source installers for v2 (#21)
* bundled installers for all, source installers for v2
* performance improvements (stolen from asdf-vm/asdf-plugin-template#58)
* update readme,contributing,funding
* workflows: move schedules from daily to weekly, just build on earliest/latest python supported
-`curl`, `git`: Required by [asdf](https://asdf-vm.com/guide/getting-started.html#_1-install-dependencies)
19
-
-`bash`, `tar`, `unzip`: generic POSIX utilities. These should be installed by default on most operating systems.
20
-
21
-
-v1 - Linux/MacOS/Windows || v2 - Windows
22
-
-`Python 3+ w/ current support (3.7.13+ as of 20JUN2022)`: For v1 (and v2 on Windows until https://github.com/MetricMike/asdf-awscli/issues/2 is resolved), this plugin installs awscli from source into a virtualenv on these OS distributions utilizing pip. In theory, most Python 3s will be sufficient, but issues will be closed if the Python is not listed as green on https://endoflife.date/python.
22
+
-`bash`, `tar`, `unzip`, `coreutils`: generic POSIX utilities. These should be installed by default on most operating systems.
23
+
- Python 3.8+ (v1, v2 when building from source) https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/
24
+
-`make/autotools` (v2 when building from source)
25
+
-`Rosetta 2` (v2 when using the pre-built installers on Apple Silicon)
23
26
24
27
# Install
25
28
@@ -37,18 +40,48 @@ awscli:
37
40
# Show all installable versions
38
41
asdf list all awscli
39
42
40
-
# Install specific version
41
-
asdf install awscli latest # 2.1.24
42
-
asdf install awscli latest:2 # 2.1.24
43
-
asdf install awscli latest:1 # 1.19.4
43
+
# Install the latest version (optionally with a version prefix)
# Set a version globally (on your ~/.tool-versions file)
46
57
asdf global awscli latest
47
58
48
59
# Now awscli commands are available
49
-
aws --help
60
+
aws --version
50
61
```
51
62
63
+
### v1 - Linux/MacOS/Windows
64
+
65
+
Only the pre-built installer is supported by this plugin for AWS CLI v1. If you need to build from source, install via `pip`.
66
+
67
+
Note: The pre-built installers require a Python 3.8+ distribution at install-time **and this Python must remain installed** as they're just creating an isolated virtualenv and copying their site-packages over. Refer to the [AWS CLI v1 Python version support matrix](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-install.html#cli-chap-install-python) for which Pythons support which AWS CLI versions. If you remove the Python distribution used at install-time, **you must reinstall AWS CLI**.
The macOS flavor only provides an x86_64 binary. You *must* install Rosetta 2 if using Apple Silicon (M1/M2/arm64).
72
+
73
+
The Linux flavor provides both x86_64 and aarch64 binaries, but has dependencies on glibc, groff, and less. Alpine/musl users should build from source.
74
+
75
+
The Windows flavor technically works, but ASDF's support for Windows isn't 100% yet.
76
+
77
+
### v2 - [Build and install from source](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-source-install.html)
78
+
79
+
This is only supported starting from [v2.10.0 / 2023-02-15](https://github.com/aws/aws-cli/pull/7668)
80
+
81
+
Building and installing from source requires a Python 3.8+ distribution at build-time. This plugin uses the `--with-install-type=portable-exe` and `--with-download-deps` flags to download all required Python dependencies and freeze a static copy of the build-time Python distribution. After a successful installation, there are no dependencies to your build time environment, and the ASDF installs folder could be shared with another air-gapped system that did not have a Python installation.
82
+
83
+
---
84
+
52
85
Check [asdf](https://github.com/asdf-vm/asdf) readme for more instructions on how to
0 commit comments