OSXとHomebrew-caskでHaskellの開発環境を構築
この記事ではHomebrewではなくHomebrew-caskを使ってHaskellの環境を構築します。
インストールには、以下のOSX用のHaskellディストリビューションを使います。コンパイル済みのバイナリとcabalが入っていて早くてお手軽です。
GHC
Cabal
Haskellのパッケージ管理ツールcabalは、初めからインストールされているのでアップデートするだけです。
cabal自体のアップグレード
cabal install cabal-install
パッケージアップデート
cabal update
OSX 10.10 Yosemiteでhomebrewによるgccインストールのエラーを回避する方法
OSX 10.10 YosemiteのDeveloper Preview版で普通にbrew install gcc
でgccをインストールしようとするとエラーになると思います。ここではパッチを当ててgcc4.9.1をインストールしてみます。
前提
参考
https://github.com/Homebrew/homebrew/issues/29845
方法
homebrewをアップデートしてgccのformulaを最新版にします。
brew update
gccのformulaの編集モードに入ります。
brew edit gcc
2行目に以下の4行を追加します。
patch do url "https://gcc.gnu.org/bugzilla/attachment.cgi?id=33180" sha1 "def0cb036a255175db86f106e2bb9dd66d19b702" end
例
class GCC < Formula # Patch for OSX 10.10 Developer Preview 4 # ref. https://github.com/Homebrew/homebrew/issues/29845 patch do url "https://gcc.gnu.org/bugzilla/attachment.cgi?id=33180" sha1 "def0cb036a255175db86f106e2bb9dd66d19b702" end def arch if Hordware::CPU.type +== : intel 略
インストール
brew install gcc
以上
OSXでssh-copy-idを使ってリモートサーバにパスワードなしでログインする
OSXでssh-copy-id
を使う方法です。
何ができる?
インストール
beautifulcode/ssh-copy-id-for-OSX - GitHubを使います。
ダウンロード
curl https://raw.githubusercontent.com/beautifulcode/ssh-copy-id-for-OSX/master/ssh-copy-id.sh -o /usr/local/bin/ssh-copy-id
実行権限を付与
chmod +x /usr/local/bin/ssh-copy-id
使い方
公開鍵を生成します。
~/.ssh/id_rsa.pub
が存在する場合は不要です。ssh-keygen
以下が生成されます。
~/.ssh/id_rsa.pub
公開鍵を配布します。
通常
ssh-copy-id [ユーザID]@[リモートサーバ] ssh-id-copy root@192.168.100.10 #例
~/.ssh/id_rsa.pub
以外の公開鍵を使う場合ssh-copy-id -i 公開鍵のフルパス [ユーザID]@[リモートサーバ] ssh-id-copy ~/.ssh/myidentity.pub root@192.168.100.10 #例
※ ログインパスワードを聞かれるので入力します。
sshでリモートのサーバにログインします。
ssh [ユーザID]@[リモートサーバのアドレス] ssh root@192.168.100.10 #例
※ ログインパスワードは聞かれません。
npmに自作のCLIモジュールを公開する
npmのアカウントを作成
https://www.npmjs.orgで登録します。
- ユーザ名
- パスワード
- Emailアドレス
npmコマンドとnpmアカウントの紐付け
先ほど作成したユーザ情報を対話的に入力します。
npm adduser
公開準備 : package.json生成
npm init
でpackage.json
を対話的に生成します。
"private"
がtrue
の場合はfalse
に修正します。
"private": false,
公開準備 : CLIモジュール用の設定
npm install -g
に対応
"preferGlobal": true,
コマンド名と起動コマンドの登録
"bin": {
"コマンド名": "起動スクリプト名"
},
公開
npm publish
確認
npm info モジュール名
バージョンアップ
package.json
のversionを新たなバージョンに変更してnpm publish
します。
GitHubのユーザ名を変更する
GitHubのユーザ名を変更する方法です。過去のコミットのユーザ名やメールアドレスも修正します。
GitHubのユーザ名を変更
Account Settings -> Change username
ローカルのgitのユーザ名を変更
git config --global user.name "新ユーザ名"
git config --global user.name "新メールアドレス"
ローカルのgitリポジトリのリモートリポジトリを変更
ローカルgitリポジトリに移動
cd ローカルgitリポジトリ
過去のURLを表示
git remote -v
新URLを表示
コピペしてユーザ名のみを変更すると楽です
git remote set-url origin https://github.com/新ユーザ名/リポジトリ名.git
過去のコミットの名前を変更
ここからはお勧めできませんがどうしてもという場合
過去のコミットを全て表示
git rebase -i --root
修正したいコミットを選択
修正したいコミットのpickをeditに変更します。
修正前
pick XXXXX pick XXXXX
修正後
edit XXXXX edit XXXXX
vimコピペ用
%s/pick/edit/gc
過去のコミットを修正
ユーザ名とメールアドレスを変更します
git commit --amend --author="新ユーザ名 <新メアド@gmail.com>"
コメントも修正できます
残りのコミットを修正
git rebase --continue
繰り返す
3と4をeditに変更した行だけ繰り返します
GitHubへpush
git push -f
以上