Không tìm thấy lệnh gcloud - khi cài đặt Google Cloud SDK


116

Tôi đang sử dụng máy Mac và đang cố cài đặt Google Cloud SDK (bao gồm cả tiện ích dòng lệnh gcloud) bằng lệnh này trong thiết bị đầu cuối

curl https://sdk.cloud.google.com | bash

như được thấy tại https://cloud.google.com/sdk/

Nó đi đến cuối và kết thúc nhưng ngay cả sau khi tôi khởi động lại trình bao của mình, gcloudlệnh vẫn cho biết nó không được tìm thấy.

Tại sao cài đặt này không hoạt động?


4
Bạn đang sử dụng shell nào? Trình cài đặt nhắc về việc cập nhật .bashrctệp của bạn , nhưng không (chưa) hoạt động với zsh hoặc các trình bao khác. Hỗ trợ zsh trong trình cài đặt đang được triển khai. Bạn có trả lời ykhi trình cài đặt nhắc Modify profile to update your $PATH and enable bash completion? (Y/n)?không?
Zachary Newman

Thực ra là có, tôi đã thấy điều đó, nhưng nó không thực sự thúc giục tôi. Nó không đợi phản hồi của tôi, vì vậy tôi không thể nói CÓ. Do đó, trình cài đặt đã không thực hiện bước đó. Tôi đang tự hỏi làm cách nào để thực hiện một bản sửa lỗi lâu dài hơn bây giờ, vì có vẻ như bản sửa lỗi của tôi chỉ hoạt động một lần và tôi phải thực hiện lại ngày hôm nay để sửa lại lần nữa. Gợi ý?
smntx

1
Trên thực tế, tôi vừa cài đặt lại nó lần này và lời nhắc đã hoạt động, vì vậy bây giờ tôi đã ổn. Cảm ơn
smntx

1
Khi tôi cài đặt gcloud, cài đặt đã sửa đổi cấu hình (ví dụ ~/.bash_profile) nhưng không tải lại được. Đang chạy đã source ~/.bash_profilesửa nó.
nick

Câu trả lời:


119

Vì vậy, dưới đây là bản sửa lỗi trước đây của tôi cho sự cố này, nhưng hóa ra nó không phải là vĩnh viễn. Nó hoạt động nhưng mỗi khi bạn khởi động lại Terminal, bạn phải làm điều tương tự mà không thực tế.

Vì vậy, đó là lý do tại sao tôi khuyên bạn nên xóa thư mục google-cloud-sdk hiện tại và chỉ cần thực hiện lại cài đặt. Hãy chắc chắn (như Zachary đã đề cập) trả lời có (Y) cho lời nhắcModify profile to update your $PATH and enable bash completion? (Y/n) .

Đây là câu trả lời cũ của tôi, nhưng chỉ cần thực hiện lại cài đặt:

I had the same problem, `gcloud` wasn't working for me.
But then, in the same directory as my `google-cloud-sdk` folder which I had just installed (my `home` directory), I found this file called `test`.
Inside this `test` file I found two commands:


    # The next line updates PATH for the Google Cloud SDK.
    source '[path-to-my-home]/google-cloud-sdk/path.bash.inc'
    # The next line enables bash completion for gcloud.
    source '[path-to-my-home]/google-cloud-sdk/completion.bash.inc'

After I ran these two `source` commands in terminal, `gcloud` worked!

20
Đối với zsh, có các tệp path.zsh.inccompletion.zsh.inctệp tương ứng .
Zachary Newman

3
Câu trả lời chính xác. Điều này đã giúp tôi khỏi đau đầu.
Alex

6
Vâng chàng trai trong trường hợp của tôi tôi chỉ cần quên để đóng và mở cửa sổ terminal sau instalation .... hy vọng điều này giúp đỡ bất kỳ cơ: D
NFRiaCowboy

1
Thật không may, đây không còn là một câu hỏi trong cài đặt mới nhất.sh
Phil

1
Gói cài đặt gcloud hiện tại bằng cách nào đó đã chia nhỏ bước này.
Jonny

44

Ở đây cũng vậy, tôi thử

source ~/.bashrc

Sau đó, nó hoạt động


2
Không có tệp hoặc thư mục nào như vậy
LKM

29

Điều này đã làm việc cho tôi:

source ~/.bash_profile

2
Làm việc cho tôi cũng vậy
Mike Boutin.

đầu tiên export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"sau đó lệnh này ở trên.
Bira

26

Trên Mac / Linux, bạn sẽ cần nhập mục sau vào ~/.bashrc:

export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"

Nó cũng hoạt động trên mac. Biến PATH sẽ cần được thiết lập.
Parth Bhoiwala

@ParthBhoiwala Cảm ơn bạn đã cho tôi biết, tôi đã cập nhật câu trả lời. :)
Mapsy

Chỉ câu trả lời làm việc với phiên bản mới, nơi không có lời nhắc 'thêm biến vào đường dẫn'.
Stanislasdrg Phục hồi Monica

Điều này đã làm việc cho tôi. Bản cài đặt của tôi không tự cập nhật .bashrc.
Sean Murphy

20

Tôi đã gặp sự cố này hôm nay và thêm sudovào sự install commandcố đã khắc phục sự cố của tôi trên maxOS Sierra!

sudo ./google-cloud-sdk/install.sh

3
Đây là điều duy nhất giúp tôi trên Sierra - không có câu trả lời nào khác hiệu quả.
paqash

2
Điều này cũng đã khắc phục sự cố của tôi trên macOS v10.13 "High Sierra"
Maikel

bạn cần đặt .zshrc khi chương trình cài đặt yêu cầu tệp bash đang sử dụng bạn. vì vậy bạn cần đặt một số như thế này: /Users/YOU-NAME-USER/.zshrc
Richard Rebeco

17

Cách cài đặt GCloud và Luôn hoạt động sau khi Khởi động lại Trên Mac OS HIGH Sierra:

  1. Tải gói cài đặt Tại đây

  2. Tệp đã đạt được và thả vào thư mục của bạn

  3. Mở thiết bị đầu cuối, đi đến thư mục của bạn với tệp và nhập lệnh sau:

     ./google-cloud-sdk/install.sh
    
  4. "Sửa đổi hồ sơ để cập nhật của bạn $PATHvà cho phép hoàn thành bash?"
    Đúng

  5. Nhập đường dẫn này để sửa đổi:
    /Users/USERNAME_COMPUTER/.bashrc
  6. Sau khi cài đặt xong, hãy nhập vào:

      source ~/.bashrc
    
  7. Nhập vào đây để kiểm tra cài đặt gcloud:

    gcloud - -version

  8. Mở đầu cuối cửa sổ mới cmd+n KHÔNG ĐÓNG CỬA SỔ CŨ và nhập vào cửa sổ mớigcloud version

    nếu: «không tìm thấy lệnh», hãy chuyển đến bước 9

    khác: Xin chúc mừng GCloud hoạt động trong thiết bị đầu cuối

  9. Quay lại cửa sổ cũ và nhập echo $PATH và sao chép đường dẫn đến GCloud

  10. Mở BASH_PROFILE:

    open ~/.bash_profile
    
  11. Nhập đường dẫn đến Bash mới:

    « export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
    
  12. Quay lại bước 8


13

Tôi biết câu hỏi này đã được trả lời, nhưng đây là hai xu của tôi. Sau khi cài đặt gcloud, bạn cần khởi động lại shell trước khi có thể thực hiện lệnh gcloud.

Cách bạn thực hiện điều này, chủ yếu phụ thuộc vào tệp bạn giữ cấu hình shell của mình. Hầu hết các tập tin .bashrc_profile, .bashrc, .zshrc.

Bây giờ bạn có thể khởi động lại với

source ~/.bashrc_profile

Bạn có thể thay thế tệp thành tệp bạn có.

Hoặc nếu bạn không quan tâm đến tệp mình có, trên Mac hoặc linux, bạn có thể khởi động lại trình bao.

exec -l $SHELL


12

Khi cài đặt SDK, tôi đã sử dụng phương pháp này:

curl https://sdk.cloud.google.com | bash

Khi sử dụng phương pháp này từ tác giả gốc, hãy đảm bảo rằng bạn đã chấp nhận các tùy chọn bảo mật trong cài đặt mac của mình để cho phép các ứng dụng được tải xuống từ cửa hàng ứng dụng và các nhà phát triển đã xác định.


Điều này rất hữu ích. Cảm ơn!
Mona Jalal

2
Tôi phải thêm sudo ở phía trước
Mike Axle

10

Bạn chỉ cần thực hiện lệnh này với tư cách là người chủ

$ curl https://sdk.cloud.google.com | bash

Khởi động lại thiết bị đầu cuối và thế là xong. Bây giờ tất cả các lệnh sẽ được thực thi dưới dạng root


9

Tôi đang chạy zsh và thấy ý chính này rất hữu ích: https://gist.github.com/dwchiang/10849350

Chỉnh sửa tệp ~ / .zshrc để bao gồm hai dòng sau:

# The next line updates PATH for the Google Cloud SDK.
source /Users/YOUR_USERNAME/google-cloud-sdk/path.zsh.inc

# The next line enables zsh completion for gcloud.
source /Users/YOUR_USERNAME/google-cloud-sdk/completion.zsh.inc

Điều này giả sử bạn đã cài đặt gói trong thư mục chính của mình từ các tài liệu chính thức


7

Tôi phải tạo nguồn tệp bash_profile của mình. Làm như vậy,

  1. Mở một phiên Terminal.
  2. Trong phiên đó, nhập: source .bash_profile và sau đó nhấn enter

Bây giờ, lệnh gcloud sẽ hoạt động


5

Để khởi chạy nó trên MacOs Sierra, sau khi cài đặt gcloud, tôi đã sửa đổi .bash_profile của mình

Dòng gốc:

# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/alejandro/google-cloud-sdk/path.bash.inc' ]; then . '/Users/alejandro/google-cloud-sdk/path.bash.inc'; fi

# The next line enables shell command completion for gcloud.
if [ -f '/Users/alejandro/google-cloud-sdk/completion.bash.inc' ]; then . '/Users/alejandro/google-cloud-sdk/completion.bash.inc'; fi

cập nhật thành:

# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/alejandro/google-cloud-sdk/path.bash.inc' ]; then source '/Users/alejandro/google-cloud-sdk/path.bash.inc'; fi

# The next line enables shell command completion for gcloud.
if [ -f '/Users/alejandro/google-cloud-sdk/completion.bash.inc' ]; then source '/Users/alejandro/google-cloud-sdk/completion.bash.inc'; fi

Khởi động lại thiết bị đầu cuối và tất cả đều hoạt động như mong đợi!


Có thể xác nhận điều này cũng hiệu quả với tôi (với zsh)
SJoshi

4

Điều này đã làm việc cho tôi:

Sau khi nói YvớiModify profile to update your $PATH and enable bash completion? (Y/n)?

Khởi tạo Google đang nhắc điều này: Enter a path to an rc file to update, or leave blank to usevà đường dẫn mặc định là: [/Users/MY_USERSAME/.bash_profile]:nhưng thay vì nhấn enter, tôi đã viết: /Users/MY_USERNAME/.bashrcđể thay đổi đường dẫn.

Điều này sẽ ghi đè lên vị trí mặc định mà Google đề xuất.

Sau đó, tôi chỉ phải làm source ~/.bashrcvà mọi thứ hoạt động ngay bây giờ!


Điều này đã khắc phục sự cố của tôi. Tôi đang nhập ~ / .bash_profile và cài đặt không cập nhật đường dẫn, nhưng cũng không xuất ra lỗi.
Jude Osborn

2

Tôi đã tìm thấy các if-ficâu lệnh không chính xác trong điều kiện của mình ~/.bash_profile (không nếu điều kiện trong khối tiếp theo)

source '/Users/yorko/google-cloud-sdk/path.bash.inc'

fi

Tôi chỉ cần gỡ bỏ "fi"và chạy "source ~/.bash_profile"để làm cho nó hoạt động.


2

Nếu chạy

source ~/.bashrc

kết quả là "Không có tệp hoặc thư mục nào như vậy"

Trên cửa sổ:

  1. Chuyển đến c / Users /
  2. Trong khi giữ phím shift, nhấp chuột phải vào tệp .bashrc và chọn "Sao chép dưới dạng đường dẫn"
  3. Trong bash: source <pasteCopiedPathHere>-> ví dụ:source "C:\Users\John\.bashhrc"

2

Nếu bạn đang chạy ZSH shell trong MacOS, bạn nên chạy lại quá trình cài đặt và khi bạn được hỏi câu hỏi này:

Modify profile to update your $PATH and enable shell command 
completion?

câu trả lời YES

Enter a path to an rc file to update, or leave blank to use 
    [/Users/your_user/.bash_profile]:

answer (đường dẫn zshrc của bạn): /Users/your_user/.zshrc

Khởi động lại Terminal và đó là tất cả.


1

Hướng dẫn cài đặt bài viết không rõ ràng:

==> Source [/.../google-cloud-sdk/completion.bash.inc] in your profile to enable shell command completion for gcloud.
==> Source [/.../google-cloud-sdk/path.bash.inc] in your profile to add the Google Cloud SDK command line tools to your $PATH.

Tôi đã phải thực sự thêm dòng mã sau đây trong tôi .bash_profilecho gcloudđến công việc:

source '/.../google-cloud-sdk/completion.bash.inc'
source '/.../google-cloud-sdk/path.bash.inc'

1
sudo ./google-cloud-sdk/install.sh

Tôi đã chạy nó trong thư mục gốc và nó hoạt động. Tôi đang chạy macOS Mojave Phiên bản 10.14.3.


1

Nếu bạn đang sử dụng MAC OS và sử dụng .zsh shell thì hãy làm như sau:

  1. Chỉnh sửa của bạn .zshrcvà thêm những thứ sau

    # The next line updates PATH for the Google Cloud SDK.
    source /Users/USER_NAME/google-cloud-sdk/path.zsh.inc
    
    # The next line enables zsh completion for gcloud.
    source /Users/USER_NAME/google-cloud-sdk/completion.zsh.inc
    
  2. Tạo tệp mới có tên path.zsh.inctrong thư mục chính của bạn (/ Users / USER_NAME /):

    script_link="$( readlink "$0" )" || script_link="$0"
    apparent_sdk_dir="${script_link%/*}"
    if [ "$apparent_sdk_dir" == "$script_link" ]; then
     apparent_sdk_dir=.
    fi
    sdk_dir="$( cd -P "$apparent_sdk_dir" && pwd -P )"
    bin_path="$sdk_dir/bin"
    export PATH=$bin_path:$PATH
    

Kiểm tra thêm @ Official Docs


0

Tôi đã gặp vấn đề tương tự và đó là vì các câu lệnh ~/.bash_profilekhông hợp lệ fi.

Cách khắc phục:

  1. Thực thi lệnh sudo nano ~/.bash_profile
  2. Đã xóa các ficâu lệnh kết thúc (câu thiếu phần mở đầu if)
  3. Lưu các thay đổi .bash_profile
  4. Thực thi lệnh source ~/.bash_profile

0
$ sudo su
$ /opt/google-appengine-sdk/bin/gcloud components update
$ su <yourusername>

0

Bây giờ sau khi chạy install.shvào Mac OS, google tự đưa ra thông tin để chạy completion.bash.incpath.bash.inc.

Nếu bạn đang sử dụng zshthiết bị đầu cuối, nó sẽ yêu cầu bạn chạy completion.zsh.incpath.zsh.inc. Vui lòng xem hình ảnh bên dưới

nhập mô tả hình ảnh ở đây


0

Tôi đã có một câu chuyện rất khác ở đây hóa ra là do môi trường ảo Python của tôi gây ra .

Ở đâu đó khi đang chạy curl https://sdk.cloud.google.com | bash, tôi gặp lỗi :

~/google-cloud-sdk/install.sh
Welcome to the Google Cloud SDK!
pyenv: python2: command not found

The `python2' command exists in these Python versions:
  2.7.14
  miniconda2-latest

giải pháp mà tôi đã sửa đổi google-cloud-sdk/install.shtập lệnh:

# if CLOUDSDK_PYTHON is empty
if [ -z "$CLOUDSDK_PYTHON" ]; then
  # if python2 exists then plain python may point to a version != 2
  #if _cloudsdk_which python2 >/dev/null; then
  #  CLOUDSDK_PYTHON=python2
  if _cloudsdk_which python2.7 >/dev/null; then
    # this is what some OS X versions call their built-in Python
    CLOUDSDK_PYTHON=python2.7

và đã có thể chạy cài đặt thành công. Tuy nhiên, tôi vẫn cần kích hoạt pyenv có python2lệnh để chạy gcloud.

tại sao vậy

Nếu bạn nhìn vào google-cloud-sdk/install.shtập lệnh, bạn sẽ thấy rằng nó thực sự đang kiểm tra các phiên bản của Python theo cách rất thô bạo:

if [ -z "$CLOUDSDK_PYTHON" ]; then
  # if python2 exists then plain python may point to a version != 2
  if _cloudsdk_which python2 >/dev/null; then
    CLOUDSDK_PYTHON=python2

Tuy nhiên, trên máy tính của tôi python2không trỏ đến tệp nhị phân Python, cũng không trả về null. Vì vậy, cài đặt bị lỗi.


0

Hãy thử thực hiện lệnh này trên Ubuntu / Linux:

sudo ./google-cloud-sdk/install.sh

Đóng thiết bị đầu cuối hoặc mở một cửa sổ mới như nhật ký cho biết:

==> Bắt đầu một trình bao mới để các thay đổi có hiệu lực.

Sau khi hoàn tất, hãy thử cài đặt bất kỳ gói nào bằng lệnh glcloud:

gcloud components install app-engine-php

Nó sẽ không hiển thị lỗi.


0

Nói ngắn gọn:

emacs -nw ~/.zshrc
And add following line at the beginning:

# The next line updates PATH for the Google Cloud SDK.
source '/home/lesaint/GOOGLE_CLOUD/google-cloud-sdk/path.zsh.inc'

#The next lines enables bash completion in Zsh for gcloud. 
autoload -U compinit compdef
compinit
source '/home/lesaint/GOOGLE_CLOUD/google-cloud-sdk/completion.zsh.inc'

Giải pháp được đề xuất bởi bài viết sau đây phù hợp với tôi:

Người tham khảo: http://www.javatronic.fr/tips/2014/10/17/installing_google_cloud_sdk_on_ubuntu_with_oh-my-zsh.html

Kiểm tra giải pháp của tôi: -bash: gcloud: lệnh không tìm thấy trên Mac


0

Sử dụng .zsh shellbạn có thể chỉ cần thêm glcoudvào danh sách plugin trong ~/.zshrctệp.

plugins=(
  gcloud
)

Nếu điều đó không hiệu quả, hãy thử cách này: ( câu trả lời của Krishna đã cập nhật )

  1. Cập nhật ~/.zshrctệp
# Updates PATH for the Google Cloud SDK.
source /Users/austris/google-cloud-sdk/path.zsh.inc

# Enables zsh completion for gcloud.
source /Users/austris/google-cloud-sdk/completion.zsh.inc
  1. Cập nhật google-cloud-sdk/path.zsh.inctệp với sau
script_link="$( readlink "$0" )" || script_link="$0" 
apparent_sdk_dir="${script_link%/*}" 
if [[ "$apparent_sdk_dir" == "$script_link" ]]; then
  apparent_sdk_dir=. 
fi
sdk_dir="$( cd -P "$apparent_sdk_dir" && pwd -P )" 
bin_path="$sdk_dir/bin" 
export PATH=$bin_path:$PATH

* dấu ngoặc vuông kép ở dòng thứ ba bị thiếu so với câu trả lời ban đầu

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.