brew services コマンドで Error: Unknown command: services というメッセージが出る
今年の前半あたりに利用した時は使えたような気がするのだけど、どうやら今はbrew services
コマンドは使用できないようだ。
先程、古い情報で記事をポストしてしまったが、先程の記事でいう「その他」のlaunchctl
を利用する方法で自動起動の設定をするしかないらしい。
参考
HomebrewでインストールしたMySQLを自動起動させる(情報が古い)
追記:brew services
コマンドは使えないらしい。
Sequel ProでMySQLのローカル環境にアクセスしようとして、Can't connect to MySQL server on '127.0.0.1'
と出るのでMySQLサーバが起動していないのは分かるけれど、毎回起動させるのが面倒だから自動起動の設定をしておくことに。
MySQLのローカル環境はたまにしか使わないため、忘れた頃にアクセスし、一瞬考えてmysql.server start
実行。いい加減もっと楽をしないと。
対処法
自動起動を設定
brew services start mysql
自動起動を解除
brew services stop mysql
一覧を表示
brew services list
その他
Homebrewでインストールすると、post-installメッセージにMySQLの起動の設定方法が書いてあるらしいのだけど、過去MySQLをインストールした時のメモを確認したら、書いてあった(!)。インストール時のメッセージはちゃんと確認しておきましょう・・・。私はbrew services
コマンドを利用した方法しか知らなかった。
Homebrewで MySQL 5.6.19 をインストールした時のpost-installメッセージ
To have launchd start mysql at login: ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents Then to load mysql now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist Or, if you don't want/need launchctl, you can just run: mysql.server start
参考
Gitで fatal: remote origin already exists. というメッセージが出る場合
対処法
git remote add origin 〜
を実行してfatal: remote origin already exists.
が出た場合、git remote rm origin
でoriginを削除し、再度originを登録すればよい。
$ git remote rm origin $ git remote add origin git@github.com:ユーザ名/リポジトリ名.git $ git push -u origin master
整理
git remote add origin 〜
は.git/config
ファイルに [remote "origin"] の設定を追記するコマンドなので、すでに.git/config
ファイルに [remote "origin"] の設定が存在する場合は、(当たり前なのだが・・・)fatal: remote origin already exists.
となる。
$ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = ssh://git@github.com:ユーザ名/リポジトリ名.git fetch = +refs/heads/*:refs/remotes/origin/* $ git remote add origin git@github.com:ユーザ名/リポジトリ名.git fatal: remote origin already exists.
この状態でgit remote rm origin
すると、.git/config
ファイルの [remote "origin”] の設定が削除される。
$ git remote rm origin $ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true
[remote "origin"] の設定を削除後にgit remote add origin 〜
を実行すると、その設定が.git/config
ファイルに追記される。
$ git remote add origin git@github.com:ユーザ名/リポジトリ名.git $ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@github.com:ユーザ名/リポジトリ名.git fetch = +refs/heads/*:refs/remotes/origin/*
.git/config
ファイルにremote名(origin)やリモートレポジトリのURLが指定できていれば、git push
できる。
その他
.git/config
ファイルにリモートリポジトリを複数登録してある場合(下記の例では"origin"と"heroku")は、下記のように設定される。
$ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@github.com:ユーザ名/リポジトリ名.git fetch = +refs/heads/*:refs/remotes/origin/* [remote "heroku"] url = git@heroku.com:アプリケーション名.git fetch = +refs/heads/*:refs/remotes/heroku/*
リモートリポジトリの一覧を表示する。
$ git remote heroku origin $ git remote -v heroku git@heroku.com:アプリケーション名.git (fetch) heroku git@heroku.com:アプリケーション名.git (push) origin git@github.com:ユーザ名/リポジトリ名.git (fetch) origin git@github.com:ユーザ名/リポジトリ名.git (push)
はてなブックマークのタグ名を編集する
タグの修正なんてたまにしかやらないだろうし、忘れそうなのでメモしておく。
今回は"ec2"を"EC2"に変更する。
1. はてなブックマークのマイページ上で、名前を変更したいタグを選択する。
2. 「<タグ> を編集」を選択する。
3. タグの編集画面が表示されるので、置換後のタグ名を入力し、「置換する」ボタンを選択する。
4. タグが変更された!
Vagrantで立ち上げた仮想マシン(CentOS6)上で.vimrcのシンタックスハイライトが有効にならない
Vagrantを使い始めてから今の今まで、.vimrc
に設定したsyntax on
を有効にする方法が分からずに放置したままだった。とりあえず解決したので、その方法を書いておく。
環境
Vagrant(CentOS6)
- Boxは Vagrantbox.es から下記を使用
- CentOS 6.4 x86_64 Minimal (VirtualBox Guest Additions 4.3.2, Chef 11.8.0, Puppet 3.3.1)
対処方法
どうやらデフォルトではviの機能しか使えないため、vimの機能であるsyntax on
はそもそも使えないらしい。なので、vimをインストールする必要がある。
[vagrant@localhost ~]$ sudo yum install vim
[vagrant@localhost ~]$ exit $ vagrant reload
SSH接続後、~/.vimrc
ファイルをvi
コマンドで開くと、syntax on
が有効になる。
$ vagrant ssh [vagrant@localhost ~]$ vi ~/.vimrc
これでRailsチュートリアルも捗るに違いない。そう、いい加減ソースコードが色分けされていないと見づらくて仕方がないとストレスが溜まってきたため、再度解決方法を試してみたのだ。つまった時は少し寝かせておくのがいいらしい。
複数の端末からHerokuにgit pushする
会社PCで一度Herokuにデプロイしていたが、自宅PCでローカルリポジトリのファイルを更新後、この自宅PCからHerokuにデプロイするためにgit push
したらエラーが出た。結果的にはデプロイできたので、それまでの手順をメモしておく。
複数PC間でHerokuのある一つのアプリケーションを共有する方法について、意外と書かれていないのでデプロイするまでにかなり苦労した。
手順
もう一方のPCでも、Herokuに登録済みのメールアドレスとパスワードを設定する。
[vagrant@localhost sample_app]$ heroku login Enter your Heroku credentials. Email: メールアドレス Password (typing will be hidden): Authentication successful.
下記はうまく行かなかったケース。
[vagrant@localhost sample_app]$ git push heroku fatal: 'heroku' does not appear to be a git repository fatal: The remote end hung up unexpectedly
GitHub同様、使用しているPCごとにHerokuに公開鍵を設定する必要がある。
~/.ssh
ディレクトリ直下に秘密鍵と公開鍵を作成しておくこと。- 標準の公開鍵名(
id_rsa.pub
)でない場合、heroku keys:add ~/.ssh/任意の公開鍵名
と指定できる。
[vagrant@localhost sample_app]$ heroku keys:add Found an SSH public key at /home/vagrant/.ssh/id_rsa.pub Would you like to upload it to Heroku? [Yn] y Uploading SSH public key /home/vagrant/.ssh/id_rsa.pub... done
複数のPCでHerokuを使えるようにするため、プラグインをインストールする。
[vagrant@localhost sample_app]$ heroku plugins:install git://github.com/ddollar/heroku-accounts.git Installing heroku-accounts… done
Herokuのアカウントに任意のアカウント名(今回はHomeforMac
)を追加する。
[vagrant@localhost sample_app]$ heroku accounts:add HomeforMac Enter your Heroku credentials. Email: メールアドレス Password (typing will be hidden): Add the following to your ~/.ssh/config Host heroku.HomeforMac HostName heroku.com IdentityFile /PATH/TO/PRIVATE/KEY IdentitiesOnly yes
プロジェクトにアカウントを設定する。設定したいプロジェクトのディレクトリでコマンドを実行すること。
[vagrant@localhost sample_app]$ heroku accounts:set HomeforMac
設定したアカウントを確認する。
[vagrant@localhost sample_app]$ git config heroku.account HomeforMac
Herokuに登録済みのアプリケーション名(今回はrailstutorial-3-sampleapp
)を指定して実行する。
[vagrant@localhost sample_app]$ heroku git:remote --app railstutorial-3-sampleapp Git remote heroku added
git push
する。
[vagrant@localhost sample_app]$ git push heroku (省略) To git@heroku.com:railstutorial-3-sampleapp.git c5a3532..84c576b master -> master
Herokuにデプロイできた!