1. apt-get安装

按照gsutil官方安装教程进行安装

注意事项1

  在步骤“2.导入 Google Cloud 公钥。”中,例如使用了如下指令

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

  由于其指令采用“|”符号连接了前后两条指令,且后一条指令使用“sudo”,故在前一指令运行完成后会暂停等待输入密码(容易忽略)。当输入密码之后终端会打印“OK”,如下所示。

bit@OMEN:~$ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
[sudo] bit202 的密码:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2537  100  2537    0     0   2873      0 --:--:-- --:--:-- --:--:--  2873

OK
bit@OMEN:~$

注意事项2

  另外该步骤因为需要访问谷歌服务器,由于一些不可抗力,在大陆可能无法访问,此时你可以试着使用手机共享网络给电脑,若依然无效则需要将终端进行“科学化”处理。处理方式如下,其中127.0.0.1是的IP地址,12345是端口号,可以从你打开的软件的设置中获取。

export http_proxy=http://127.0.0.1:12345
export https_proxy=http://127.0.0.1:12345

注意事项3

  在步骤“3.更新并安装 gcloud CLI:”运行如下指令时
sudo apt-get update && sudo apt-get install google-cloud-cli

可能会报错如下:

No apt package "google-cloud-cli", but there is a snap with that name.
Try "snap install google-cloud-cli"

E: 无法定位软件包 google-cloud-cli

这是因为前半条语句sudo apt-get update没有完成对程序列表的更新,是由于网络原因导致的。如果你安装了snap,还可以按照报错提示,使用snap添加“–classic”(如下所示)完成安装

2. snap安装

snap install google-cloud-cli --classic

2.1 无法连接snap store报错

error: unable to contact snap store

本质原因还是网络问题,设置snap专用代理就好了(IP和端口号仍需要改成自己的)

sudo snap set system proxy.https="http://127.0.0.1:8889"
sudo snap set system proxy.http="http://127.0.0.1:8889"

2.2 下载注意事项

  安装完成后在使用gsutil下载文件时有可能出现

Unknown option: m
No command was given.

Choose one of -b, -d, -e, or -r to do something.
Try `/usr/bin/gsutil --help' for more information.

下面是官网安装教程给出的解释

警告:某些 Linux 发行版中预安装了另一个名为 gsutil 的工具(由 GrandStream BudgeTone 提供)。如果您运行此命令(而不是 Cloud Storage gsutil),它可能会输出类似于 “Choose one of -b, -d, -e, or -r to do something” 的错误消息。如果发生这种情况,您可以在 PATH 环境变量中将 Cloud Storage 版 gsutil 移到前面,或者,您也可以在运行 Cloud Storage gsutil 时指定完整路径(例如 /home/users/joan/gsutil/gsutil ls)。

但在其提供的参考路径下我并没有找到“gsutil”,由于我是使用snap安装,故我电脑上的路径为“/snap/bin/gsutil”,在下载文件过程中“‘/snap/bin/gsutil’”替换“gsutil”即可。

3. 安装包安装

  如果由于终端网络问题以上方式都失效(这也太惨了吧),还可以尝试将对应版本的安装包下载到本地进行安装。由于下载过程可以在浏览器等一些下载工具中下载所以网络问题就是常规解决方案,不需要命令行设置。这里是官方安装教程
在运行了install.sh程序之后,显示如下信息,输入“y”肯定回答,安装程序继续

Do you want to help improve the Google Cloud CLI (y/N)?  y

询问是否继续,输入“Y”继续

Do you want to continue (Y/n)?  Y

打印出如下信息,询问环境变量rc文件的路径,一般情况下就是它默认的路径,直接回车即可,之后想要直接不加路径使用相关命令只需要重新打开一个终端即可。

The Google Cloud SDK installer will now prompt you to update an rc file to bring
 the Google Cloud CLIs into your environment.

Enter a path to an rc file to update, or leave blank to use 
[/home/****/.bashrc]:  

4. 初始化注意事项

  以上所有方法完成之后都需要进行初始化,在此之前仍然需要设置http_proxyhttp_proxy,在进行初始化gcloud init的时候由于网络问题你可以加上--skip-diagnostics跳过诊断,此时终端中会显示如下信息

bit202@bit202-ThinkPad-E480:/media/bit202/BIT202/waymo_open_dataset_v_1_3_2$ /snap/bin/gcloud init --skip-diagnostics
Welcome! This command will take you through the configuration of gcloud.

Your current configuration has been set to: [default]

You must log in to continue. Would you like to log in (Y/n)?  Y

直接输入Y登录自己的google账户,终端会自动调用浏览器打开一个登陆界面,并打印如下信息

Your browser has been opened to visit:

    https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=32555940559.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8085%2F&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fsqlservice.login+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faccounts.reauth&state=mkcfz6EyE2tcJmJT4gNxuoPqXy8Aeu&access_type=offline&code_challenge=owpVhbpV2_qtO7bIUG1YXF0BN6pGT1Jwvl5Zw6XNRpU&code_challenge_method=S256

当你在网页登录之后,终端会出现如下信息,另外需要注意只需要登录即可,不需要进行后续绑定操作,然后直接Ctrl+C结束终端程序即可,不需要进行其他配置,之后你就可以正常使用gsutil了。

You are logged in as: [×××××××@gmail.com].

Pick cloud project to use: 
 [1] helpful-passage-351809
 [2] Enter a project ID
 [3] Create a new project
Please enter numeric choice or text value (must exactly match list item):   
Please enter a value between 1 and 3, or a value present in the list:  ^C

Command killed by keyboard interrupt

请添加图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐