ไม่พบคำสั่ง gcloud - ขณะติดตั้ง Google Cloud SDK


116

ฉันใช้ Mac และกำลังพยายามติดตั้ง Google Cloud SDK (รวมถึงยูทิลิตี้บรรทัดคำสั่ง gcloud) โดยใช้คำสั่งนี้ในเทอร์มินัล

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

ดังที่เห็นในhttps://cloud.google.com/sdk/

มันมาถึงจุดสิ้นสุดและเสร็จสิ้น แต่ถึงแม้ฉันจะรีสตาร์ทเชลล์gcloudคำสั่งก็ยังบอกว่าไม่พบ

เหตุใดการติดตั้งนี้จึงไม่ทำงาน


4
คุณใช้เชลล์ตัวไหน? โปรแกรมติดตั้งแจ้งเกี่ยวกับการอัปเดต.bashrcไฟล์ของคุณแต่ไม่ (ยัง) ทำงานกับ zsh หรือเชลล์อื่น ๆ กำลังจะมีการสนับสนุน zsh ในโปรแกรมติดตั้ง คุณตอบyเมื่อโปรแกรมติดตั้งแจ้งModify profile to update your $PATH and enable bash completion? (Y/n)?หรือไม่?
Zachary Newman

ที่จริงใช่ฉันเห็นสิ่งนั้น แต่มันไม่ได้แจ้งให้ฉันทราบจริงๆ ไม่ได้รอคำตอบของฉันดังนั้นฉันจึงไม่ได้พูดว่าใช่ ดังนั้นโปรแกรมติดตั้งไม่ได้ทำขั้นตอนนั้น ตอนนี้ฉันสงสัยว่าจะทำการแก้ไขถาวรได้อย่างไรเพราะดูเหมือนว่าการแก้ไขของฉันจะใช้ได้เพียงครั้งเดียวและฉันต้องทำอีกครั้งในวันนี้เพื่อแก้ไขอีกครั้ง ข้อเสนอแนะ?
smntx

1
อันที่จริงฉันเพิ่งติดตั้งใหม่ในครั้งนี้และพรอมต์ใช้งานได้ดังนั้นตอนนี้ฉันก็สบายดี ขอบคุณ
smntx

1
เมื่อฉันติดตั้ง gcloud การติดตั้งได้แก้ไขโปรไฟล์ (เช่น~/.bash_profile) แต่ไม่สามารถโหลดซ้ำได้ ทำงานได้source ~/.bash_profileรับการแก้ไขแล้ว
ชื่อเล่น

คำตอบ:


119

ด้านล่างนี้เป็นการแก้ไขปัญหาก่อนหน้านี้ของฉัน แต่ปรากฎว่ามันไม่ถาวร ใช้งานได้ แต่ทุกครั้งที่คุณรีสตาร์ท Terminal คุณจะต้องทำสิ่งเดียวกันซึ่งไม่สามารถใช้งานได้จริง

นั่นคือเหตุผลที่ฉันแนะนำให้คุณลบไดเร็กทอรี google-cloud-sdk ปัจจุบันและทำการติดตั้งซ้ำ ให้แน่ใจว่าได้ (ตามที่ได้กล่าวถึงรีน) ที่จะตอบว่าใช่ (Y) Modify profile to update your $PATH and enable bash completion? (Y/n)กับพรอมต์

นี่คือคำตอบเก่าของฉัน แต่เพียงแค่ทำการติดตั้งใหม่:

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
สำหรับ zsh มีไฟล์ที่เกี่ยวข้องpath.zsh.incและ completion.zsh.inc
Zachary Newman

3
คำตอบที่ดี สิ่งนี้ช่วยฉันจากอาการปวดหัว
Alex

6
ในกรณีของฉันฉันลืมปิดและเปิดหน้าต่างเทอร์มินัลหลังจากติดตั้ง .... หวังว่านี่จะช่วยทุกส่วนได้: D
NFRiaCowboy

1
น่าเสียดายที่นี่ไม่ใช่คำถามอีกต่อไปใน install.sh ล่าสุด
Phil

1
แพ็คเกจการติดตั้ง gcloud ปัจจุบันได้แยกขั้นตอนนี้แล้ว
จอนนี่

44

เหมือนกันที่นี่ฉันพยายาม

source ~/.bashrc

จากนั้นก็ใช้งานได้


2
ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
LKM

29

อันนี้ใช้ได้ผลสำหรับฉัน:

source ~/.bash_profile

2
ทำงานให้ฉันเช่นกัน
Mike Boutin

ก่อนexport PATH="/usr/lib/google-cloud-sdk/bin:$PATH"จากนั้นคำสั่งนี้ด้านบน
Bira

26

บน Mac / Linux คุณจะต้องป้อนรายการต่อไปนี้ใน~/.bashrc:

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

มันทำงานบน mac ด้วย ต้องตั้งค่าตัวแปร PATH
Parth Bhoiwala

@ParthBhoiwala ขอบคุณที่แจ้งให้เราทราบฉันได้อัปเดตคำตอบแล้ว :)
Mapsy

ตอบเฉพาะที่ใช้งานได้กับเวอร์ชันใหม่ซึ่งไม่มีข้อความแจ้ง "เพิ่มตัวแปรในเส้นทาง"
Stanislasdrg คืนสถานะ Monica

อันนี้ใช้ได้ผลสำหรับฉัน การติดตั้งของฉันไม่ได้อัปเดต. bashrc ด้วยตัวเอง
Sean Murphy

20

วันนี้ฉันมีปัญหานี้และเพิ่มsudoการinstall commandแก้ไขปัญหาของฉันใน maxOS Sierra!

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

3
นี่เป็นสิ่งเดียวที่ช่วยฉันใน Sierra - ไม่มีคำตอบอื่นใดที่ใช้ได้ผล
paqash

2
นอกจากนี้ยังแก้ไขปัญหาของฉันใน macOS v10.13 "High Sierra"
Maikel

คุณต้องใส่. zshrc เมื่อโปรแกรมติดตั้งขอไฟล์ bash ที่กำลังใช้งานคุณ ดังนั้นคุณต้องใส่สิ่งนี้: /Users/YOU-NAME-USER/.zshrc
Richard Rebeco

18

วิธีติดตั้ง GCloud และใช้งานได้เสมอหลังจากรีสตาร์ทบน Mac OS HIGH Sierra:

  1. ดาวน์โหลดแพ็คเกจติดตั้ง ที่นี่

  2. ไฟล์สำเร็จและวางในโฟลเดอร์ของคุณ

  3. เปิดเทอร์มินัลไปที่โฟลเดอร์ของคุณพร้อมไฟล์และป้อนคำสั่งนี้:

     ./google-cloud-sdk/install.sh
    
  4. "แก้ไขโปรไฟล์เพื่ออัปเดต$PATHและเปิดใช้งาน bash complete หรือไม่"
    ใช่

  5. เข้าสู่เส้นทางนี้เพื่อแก้ไข:
    /Users/USERNAME_COMPUTER/.bashrc
  6. หลังจากติดตั้งทั้งหมดแล้วให้ป้อนสิ่งนี้:

      source ~/.bashrc
    
  7. ป้อนสิ่งนี้เพื่อตรวจสอบการติดตั้ง gcloud:

    gcloud - - เวอร์ชัน

  8. เปิดเทอร์มินัลหน้าต่างใหม่cmd+n อย่าปิดหน้าต่างเก่าและเข้าสู่หน้าต่างใหม่gcloud version

    ถ้า: «ไม่พบคำสั่ง»ไปที่ขั้นตอนที่ 9

    อื่น: ขอแสดงความยินดี GCloud ทำงานในเทอร์มินัล

  9. กลับไปที่หน้าต่างเก่าแล้วป้อนecho $PATH และคัดลอกเส้นทางไปยัง GCloud

  10. เปิด BASH_PROFILE:

    open ~/.bash_profile
    
  11. เข้าสู่เส้นทางสู่ Bash ใหม่:

    « export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
    
  12. กลับไปที่ขั้นตอนที่ 8


13

ฉันรู้ว่าคำถามนี้ได้รับคำตอบแล้ว แต่นี่คือสองร้อยละของฉัน หลังจากติดตั้ง gcloud คุณต้องรีสตาร์ทเชลล์ก่อนจึงจะสามารถสั่ง gcloud ได้

วิธีที่คุณทำส่วนใหญ่ขึ้นอยู่กับไฟล์ที่คุณเก็บการกำหนดค่าเชลล์ไว้ ส่วนใหญ่จะเป็นไฟล์.bashrc_profile, ,.bashrc.zshrc

ตอนนี้คุณสามารถเริ่มต้นใหม่ด้วยไฟล์

source ~/.bashrc_profile

คุณสามารถแทนที่ไฟล์เป็นไฟล์ที่คุณมี

หรือถ้าคุณไม่สนใจไฟล์ที่คุณมีบน Mac หรือ linux คุณสามารถรีสตาร์ทเชลล์ได้

exec -l $SHELL


12

เมื่อติดตั้ง SDK ฉันใช้วิธีนี้:

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

เมื่อใช้วิธีนี้จากผู้เขียนต้นฉบับตรวจสอบให้แน่ใจว่าคุณได้ยอมรับการตั้งค่าความปลอดภัยในการตั้งค่า mac ของคุณเพื่ออนุญาตแอพที่ดาวน์โหลดจาก app store และนักพัฒนาที่ระบุ


สิ่งนี้มีประโยชน์มาก ขอบคุณ!
Mona Jalal

2
ฉันต้องเพิ่ม sudo ไว้ข้างหน้า
Mike Axle

10

คุณต้องรันคำสั่งนี้ในฐานะรูท

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

รีสตาร์ทเทอร์มินัลเท่านี้ก็เสร็จเรียบร้อย ตอนนี้คำสั่งทั้งหมดควรดำเนินการในฐานะรูท


9

ฉันใช้ zsh และพบว่าส่วนสำคัญนี้มีประโยชน์มาก: https://gist.github.com/dwchiang/10849350

แก้ไขไฟล์~ / .zshrcเพื่อรวมสองบรรทัดนี้:

# 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

สิ่งนี้ถือว่าคุณติดตั้งแพคเกจในไดเรกทอรีหลักของคุณจากเอกสารอย่างเป็นทางการ


7

ฉันต้องซอร์สไฟล์ bash_profile ของฉัน ในการทำเช่นนั้น

  1. เปิดเซสชัน Terminal
  2. ในประเภทเซสชันนั้น: source .bash_profile แล้วกด Enter

ตอนนี้คำสั่ง gcloud ควรใช้งานได้


5

ในการเปิดใช้งานบน MacOs Sierra หลังจากติดตั้ง gcloud ฉันได้แก้ไข. bash_profile ของฉัน

เส้นเดิม:

# 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

อัปเดตเป็น:

# 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

รีสตาร์ทเทอร์มินัลและทั้งหมดจะทำงานตามที่คาดไว้!


สามารถยืนยันได้ว่าสิ่งนี้ใช้ได้กับฉันเช่นกัน (กับ zsh)
SJoshi

4

สิ่งนี้ใช้ได้ผลสำหรับฉัน:

หลังจากพูดYกับModify profile to update your $PATH and enable bash completion? (Y/n)?

การเริ่มต้นของ Google กำลังแจ้งสิ่งนี้: Enter a path to an rc file to update, or leave blank to useและเส้นทางเริ่มต้นคือ: [/Users/MY_USERSAME/.bash_profile]:แต่แทนที่จะกดenterฉันเขียน: /Users/MY_USERNAME/.bashrcเพื่อเปลี่ยนเส้นทาง

สิ่งนี้จะเขียนทับตำแหน่งเริ่มต้นที่ Google แนะนำ

จากนั้นฉันต้องทำเท่านั้นsource ~/.bashrcและทุกอย่างก็ทำงานได้แล้ว!


สิ่งนี้ช่วยแก้ปัญหาของฉันได้ ฉันกำลังพิมพ์ ~ / .bash_profile และการติดตั้งไม่ได้อัปเดตเส้นทาง แต่ยังไม่แสดงข้อผิดพลาด
Jude Osborn

2

ฉันพบif-fiข้อความที่ไม่ถูกต้องในของฉัน~/.bash_profile (ไม่มีเงื่อนไขถ้าในบล็อกถัดไป)

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

fi

ฉันต้องลบ"fi"และเรียกใช้"source ~/.bash_profile"เพื่อให้มันใช้งานได้


2

ถ้าทำงาน

source ~/.bashrc

ผลลัพธ์เป็น "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว"

บน windows:

  1. ไปที่ c / Users /
  2. ในขณะที่กด shift ค้างไว้ให้คลิกขวาที่ไฟล์. bashrc แล้วเลือก "คัดลอกเป็นเส้นทาง"
  3. ใน bash: source <pasteCopiedPathHere>-> ตัวอย่างเช่น:source "C:\Users\John\.bashhrc"

2

หากคุณใช้ ZSH shell ใน MacOS คุณควรเรียกใช้การติดตั้งใหม่อีกครั้งและเมื่อคุณถูกถามคำถามนี้:

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

ตอบ YES

และ

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

คำตอบ (เส้นทาง zshrc ของคุณ): /Users/your_user/.zshrc

รีสตาร์ท Terminal และนั่นคือทั้งหมดที่


1

โพสต์คำแนะนำในการติดตั้งไม่ชัดเจน:

==> 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.

ฉันได้ไปจริงเพิ่มบรรทัดต่อไปของรหัสในของฉัน.bash_profileสำหรับgcloudการทำงาน:

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

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

ฉันรันสิ่งนี้ในไดเรกทอรีรากและใช้งานได้ ฉันใช้ macOS Mojave เวอร์ชัน 10.14.3


1

หากคุณใช้ MAC OS และใช้. zsh shell ให้ทำดังต่อไปนี้:

  1. แก้ไขของคุณ.zshrcและเพิ่มสิ่งต่อไปนี้

    # 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. สร้างไฟล์ใหม่ที่ตั้งชื่อpath.zsh.incภายใต้โฮมไดเร็กทอรีของคุณ (/ 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
    

ชำระเงินเพิ่มเติม @ Official Docs


0

ฉันมีปัญหาเดียวกันและเป็นเพราะข้อความที่~/.bash_profileไม่ถูกต้องfi

การแก้ไข:

  1. ดำเนินการคำสั่ง sudo nano ~/.bash_profile
  2. ลบfiคำสั่งปิด(รายการที่ไม่มีการเปิดif)
  3. บันทึกการเปลี่ยนแปลง. bash_profile
  4. ดำเนินการคำสั่ง source ~/.bash_profile


0

ตอนนี้หลังจากที่ทำงานinstall.shในMac OS, Google เองให้ข้อมูลในการทำงานและcompletion.bash.incpath.bash.inc

หากคุณกำลังใช้zshขั้วก็จะขอให้คุณทำงานและcompletion.zsh.inc path.zsh.incโปรดดูภาพด้านล่าง

ใส่คำอธิบายภาพที่นี่


0

ผมมีเรื่องที่แตกต่างกันมากที่นี่ที่เปิดออกมาจะเกิดจากฉันสภาพแวดล้อมเสมือนงูหลาม

บางแห่งระหว่างการวิ่งcurl https://sdk.cloud.google.com | bashฉันได้รับข้อผิดพลาด :

~/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

วิธีแก้ไขฉันได้แก้ไขgoogle-cloud-sdk/install.shสคริปต์:

# 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

และสามารถรันการติดตั้งได้สำเร็จ แต่ผมยังคงต้องเปิดใช้งาน pyenv ของฉันที่มีคำสั่งเพื่อเรียกใช้ python2gcloud

ทำไมเป็นอย่างนั้น

หากคุณดูgoogle-cloud-sdk/install.shสคริปต์คุณจะเห็นว่ามีการตรวจสอบเวอร์ชันของ Python ในลักษณะที่ดุร้ายมาก:

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

อย่างไรก็ตามบนเครื่องของฉันpython2ไม่ได้ชี้ไปที่ไบนารี Python แต่ก็ไม่ส่งคืนค่าว่าง ดังนั้นการติดตั้งจึงล้มเหลว


0

ลองทำคำสั่งนี้บน Ubuntu / Linux:

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

ปิดเทอร์มินัลหรือเปิดหน้าต่างใหม่ตามที่บันทึกระบุ:

==> เริ่มเชลล์ใหม่เพื่อให้การเปลี่ยนแปลงมีผล

เมื่อเสร็จแล้วให้ลองติดตั้งแพ็คเกจโดยใช้คำสั่ง glcloud:

gcloud components install app-engine-php

จะไม่แสดงข้อผิดพลาด


0

ในระยะสั้น:

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'

วิธีแก้ปัญหาที่เสนอโดยบทความต่อไปนี้ใช้ได้กับฉัน:

อ้างอิง: http://www.javatronic.fr/tips/2014/10/17/installing_google_cloud_sdk_on_ubuntu_with_oh-my-zsh.html

ตรวจสอบวิธีแก้ปัญหาของฉัน : -bash: gcloud: command not found บน Mac


0

ใช้.zsh shellคุณก็สามารถพยายามที่จะเพิ่มglcoudในรายการปลั๊กอินใน~/.zshrcไฟล์

plugins=(
  gcloud
)

หากไม่ได้ผลให้ลองทำสิ่งนี้: (อัปเดตคำตอบของกฤษณะ )

  1. อัปเดต~/.zshrcไฟล์
# 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. อัปเดตgoogle-cloud-sdk/path.zsh.incไฟล์ดังต่อไปนี้
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

* วงเล็บเหลี่ยมคู่ที่บรรทัดที่สามหายไปจากคำตอบเดิม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.