Làm cách nào để nâng cấp AWS CLI lên phiên bản mới nhất?


137

Gần đây tôi nhận thấy rằng tôi đang chạy một phiên bản AWS CLI cũ thiếu một số chức năng tôi cần:

$aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic

Làm cách nào tôi có thể nâng cấp lên phiên bản mới nhất của AWS CLI (1.10.24)?

Biên tập:

Chạy lệnh sau không cập nhật AWS CLI:

$ pip install --upgrade awscli
Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages
Cleaning up...

Kiểm tra phiên bản:

$ aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic

1
Tôi đã có tình huống tương tự và được gây ra bởi aws cli ban đầu được cài đặt thông qua apt-get install awscli. Giải pháp là loại bỏ nó trước ( apt-get remove awscli) và làm theo pip installcâu trả lời dưới đây.
Darren Reid

Tôi đã làm (apt-get remove awscli) nhưng sau đó sau khi thực hiện theo các lệnh (pip install ...), tôi không thể tìm thấy awscli thực thi được. Đầu ra của (cài đặt pip ...) cho biết đã cài đặt thành công.
NKM

Nếu tôi không sử dụng tùy chọn "--user" trong cài đặt pip thì tôi có thể tìm thấy awscli có thể thực thi được trong / usr / local / bin (Tôi đang sử dụng Debian Jessie). Nhưng với tùy chọn --user, exec không có sẵn trong ~ / .local hoặc trong bất kỳ thư mục gói cài đặt python nào (gói dist hoặc gói trang web).
NKM

Câu trả lời:


108

Từ http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-with-pip

Để nâng cấp cài đặt AWS CLI hiện có, hãy sử dụng tùy chọn - nâng cấp:

pip install --upgrade awscli

Tôi nhận được thông báo sau : Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages. Mặc dù khi tôi chạy aws --version, tôi nhận được aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic.
Borealis

23
Hãy thử cài đặt pip3
nâng cấp awscli

12
Chạy sudo pip3 install --upgrade awsclivà khởi động lại đã lừa Cảm ơn đã giúp đỡ.
Borealis

19
Chỉ cần khởi động lại sau khi cài đặt aws cli.
JoeTidee

3
Tôi không thể tin rằng cần phải khởi động lại , nhưng trong trường hợp này, việc khởi động lại vm của tôi nhanh hơn tìm một giải pháp thay thế [đó là "khởi động lại voodoo" dành cho windows].
babkaufmann

49

Trên Linux và MacOS X, đây là ba lệnh tương ứng với từng bước:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

3
cập nhật thông qua pipkhông hoạt động đối với tôi - xóa awsvà cài đặt lại theo cách này đã làm việc.
BM

1
Bạn đã cứu ngày của tôi. AWS đang trở nên nghèo nàn về tài liệu của nó.
Kannaiyan

tùy chọn này làm việc cho tôi khi tôi cần thiết để nâng cấp /usr/local/aws(không /home/ubuntu/.local/bin/aws) được sử dụng bởi Jenkins dùng
hit3k

Tài liệu về AWS thực sự đang xuống cấp nhanh chóng. Đây là câu trả lời đúng, tôi không thể hiểu tại sao người hỏi lại chấp nhận câu trả lời mà họ đã nêu rõ trong bản chỉnh sửa của họ không hoạt động - các gói pip thường đứng sau bản mới nhất hiện tại là vấn đề khi sử dụng công cụ mới như EKS . Lưu ý: Tôi đã phải thoát khỏi trình bao và đăng nhập lại cho lệnh aws để chọn phiên bản mới. Không biết tại sao.
Dick Chesterwood

24

Điều này không hoạt động:

cài đặt pip - nâng cấp awscli

Điều này hoạt động tốt trên Ubuntu 14.04 (không cần phải khởi động lại .. Bạn sẽ phải cài đặt pip3 trước):

cài đặt pip3 - nâng cấp awscli


4
Điều này có thể yêu cầu: apt-get install python3-pip Lệnh này hoạt động tốt như nhau đối với tôi trên Ubuntu 14.04.
dannyman

12

Đối với Ubuntu 16.04, tôi đã sử dụng các phần của câu trả lời và nhận xét khác và chỉ tải lại bash thay vì khởi động lại.

Tôi đã cài đặt aws-cli bằng apt vì vậy tôi đã gỡ bỏ nó trước:

sudo apt-get remove awscli

Sau đó, tôi có thể cài đặt pip (Tôi đã chọn sử dụng sudo để cài đặt toàn cầu với pip2):

sudo pip install -U awscli

Vì tôi đang làm điều này trên một máy chủ, tôi không muốn khởi động lại nó, nhưng việc tải lại bash đã tạo ra mánh khóe:

source ~/.bashrc

Tại thời điểm này tôi có thể sử dụng phiên bản mới của aws cli

aws --version

1
Cảm ơn vì source ~/.bashrcbước đi. :)
Pratik Patel

8

Hãy thử sudo pip install --upgrade awscli, và mở một vỏ mới. Điều này làm việc tốt cho tôi (không cần phải khởi động lại).


Trên Mac OS, tôi phải chạy sudo pip install --upgrade awsclicho máy của mình để có thể gỡ cài đặt phiên bản awscli trước đó (sau khi nâng cấp ban đầu chạy thành công)
Lynn Langit

4

Sử dụng đơn giản sudo pip install awscli --force-reinstall --upgrade

Điều này sẽ nâng cấp tất cả các mô-đun cần thiết.


trên máy jenkins của tôi, tôi không muốn gỡ cài đặt cli một cách rõ ràng, vì vậy tôi đã sử dụng phương pháp này và làm việc như một bùa mê!
ĐÔ THỊ

4

Nếu bạn gặp sự cố khi cài đặt AWS CLI bằng cách sử dụng, pipbạn có thể sử dụng "Trình cài đặt kèm theo" như tài liệu ở đây .

Các bước thảo luận có như sau:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Kiểm tra phiên bản AWS CLI của bạn sau đó như một sự tỉnh táo - kiểm tra xem mọi thứ có được thực hiện chính xác không:

$ aws --version

Nếu AWS CLI không cập nhật lên phiên bản mới nhất như mong đợi, có thể các nhị phân AWS CLI được đặt ở một nơi khác như các lệnh đã cho trước đó.

Xác định nơi AWS CLI đang được thực thi từ:

$ which aws

Trong trường hợp của tôi, AWS CLI đã được thực thi từ đó /bin/aws, vì vậy tôi phải cài đặt "Trình cài đặt kèm theo" bằng cách sử dụng vị trí đó như sau:

$ sudo ./awscli-bundle/install -i /user/local/aws -b /bin/aws

bằng cách sử dụng trình cài đặt đi kèm bằng cách nào đó làm cho hình ảnh docker kết quả LARGER hơn là sử dụng pip ... mind blow
Chad Grant

Có thể cần phải mở một vỏ mới sau khi cài đặt - vì một số lý do "aws" không trỏ đến cài đặt mới cho đến khi thoát và khởi động lại.
Dick Chesterwood

4

Trên Mac, bạn có thể sử dụng homebrew:

để cài đặt: brew install awscli

nâng cấp: brew upgrade awscli

Đảm bảo bạn không có nhiều cài đặt: where aws


2
pip install awscli --upgrade --user

Các --upgradetùy chọn cho pip nâng cấp bất kỳ yêu cầu đã được cài đặt. Các --usertùy chọn cho pip để cài đặt chương trình vào một thư mục con của thư mục người dùng của bạn để tránh thay đổi các thư viện được sử dụng bởi hệ điều hành của bạn.


0

Chúng tôi có thể làm theo các lệnh dưới đây để cài đặt AWS CLI trên UBUNTU:

sudo apt cài đặt curl

curl ăn https://s3.amazonaws.com/aws-cli/awscli-bundle.zip xông -o Cách awscli-bundle.zip

giải nén awscli-bundle.zip

sudo ./awscli-bundle/install -i / usr / local / aws -b / usr / local / bin / aws

rm -rf awscli-bundle.zip awscli-bundle

Để kiểm tra: aws - phiên bản

Để biết thêm thông tin:

https://gurudathbn.wordpress.com/2018/03/31/installing-aws-cli-on-ub Ubuntu /


0

Khi sử dụng sudo pip install --upgrade awsclitôi gặp lỗi sau:

ERROR: Could not install packages due to an EnvironmentError: [Errno 30] Read-only file system: '/lib'

Bằng cách sử dụng tùy chọn sudo với -H, tôi có thể khắc phục sự cố.

sudo -H pip install --upgrade awscli

0

Hiện tại, sử dụng pip sẽ giúp bạn có phiên bản cũ của awscli 1.18.103,.

Phiên bản mới nhất của aws-cli, 2.0.33nằm trên v2 chi nhánh . Bạn có thể tải xuống trình cài đặt cho Linux, Windows và macOS từ đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.