Transmit4からaws cliにかえたのでそのときメモ。
aws cliをインストールする前にあらかじめ、pythonとpipが必要。
そもそもpythonが入っているのかを確認
$ which python
何も表示されなかったのでない。ということでpythonのインストール
$ brew install python3
次にpipのインストール、homebrewのpython版みたいなやつ。
$ sudo easy_install pip
$ パスワードを聞かれるので入力
これで下準備は終了。
公式通りにやってみる
$ pip install awscli --upgrade --user
普通はこれで完了するらしいが、やっぱりエラーがでた。こういうことが多いからTransmitを使用してきましたが、今はそうも言ってられないのでエラーの確認。
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
Uninstalling six-1.4.1:
と言われたので、アンイストールしようとしましたが、できなかったので、ググった結果。回避法を発見。
$ sudo -H pip install awscli --upgrade --ignore-installed six
できた。
あとは、細かい設定を終わらせる。
$ aws configure
AWS Access Key ID : awsのサイトで確認
AWS Secret Access Key : シークレットキーを忘れた場合は、新しく作るしかない
Default region name : ap-northeast-1 => tokyoのこと
Default output format [None]: text => hugoで使うだけなのでとりあえずtext
まず、s3にアクセスできるか確認。
$ aws s3 ls
2017-07-22 16:56:44 shou2017.com
ちゃんとアクセスできて、バケットも確認できた。
publicフォルダに移動
$ cd public
ローカルにあるpublicフォルダ内全てをアップロードするのでこうする。
public$ aws s3 sync . s3://shou2017.com <=ここにバケット名を入力
上記のようにいちいちpublicに移動するのは面倒なので、下のようにすることもできる。
$ aws s3 sync --delete ./public s3://shou2017.com <=ここにバケット名を入力
以上で終了。Transmitを使うより早かったが、やはりターミナルを扱うのは面倒なことが多い。公式通りやっていてもエラーがよくでる。