Category: terminal

Open Source Swift でMySQLにつなげるためのSwiftクラスを生成するコードを公開しました

このエントリーをはてなブックマークに追加
はてなブックマーク - Open Source Swift でMySQLにつなげるためのSwiftクラスを生成するコードを公開しました

最近、Swiftでサーバーサイドのコードを書いています。SlackのBotができるところまできました。 Swiftでボットを作るためのフレームワークをオープンソース化しました | まだSwiftは3.0の開発中で常に変化していますが、3月、4月の変化に比べると、5月になって変化が緩やかになってきた気がします。言語の面での充実っぷりは著しいものの、肝心のライブラリはまだまだ発展途上です。4月にOSXでオープンソースSwiftの開発環境-まずビルドまで | の記事を書いて、それ以降あまり変わっていませんが、個人的には、Xcodeのプロジェクトファイルの生成機能が安定して動くようになってきたので、ずいぶん快適に開発できるようになってきたと感じます。

Continue reading

OSXでオープンソースSwiftの開発環境-まずビルドまで

このエントリーをはてなブックマークに追加
はてなブックマーク - OSXでオープンソースSwiftの開発環境-まずビルドまで

Swiftでの開発環境

Swiftでボットを作るためのフレームワークをオープンソース化しました こちらの記事でオープンソースSwiftでの開発を始めているのですが、最初あまりにも試行錯誤だったので、まとめの情報を書いておきたいと思います。僕もわからないことばかりで、試行錯誤中なので、この方法がいいよというのがあったら教えてください。

Continue reading

OSX Yosemite だインストールした古いRubyGemsをアンインストールして再インストールする方法

このエントリーをはてなブックマークに追加
はてなブックマーク - OSX Yosemite だインストールした古いRubyGemsをアンインストールして再インストールする方法

最近、Open Source Swift を使って、サーバーサイドSwiftの技術調査を行っています。Swift 3.0のブランチが二週間に1度くらいアップデートして、それに合わせて、フレームワークも書き換わるので、あのライブラリはこのSwiftで動くけど、このライブラリは動かないというエキサイティングな状況です。この時期に多くのフレームワークが開発されていますが、Linux、OSXで動かすためにはFoundationライブラリさえ使えないという状況の中、HTTPサーバーを頑張って開発している、Zewoという会社のフレームワークで、テスト版のSlackBotを作成しています。

その際にRubyGemを使ってツールをインストールしようとしたところ、
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/gem

のエラーが出て、gemをインストールできませんでした。sudoをつけてもできなくて、調べてみたところ、どうもgemが、/usr/bin/gemにあるのが悪いようでした。Ruby Version Managerを入れても、結局/usr/bin/gem/のgemが優先されて呼ばれていまいました。それもOSX El Capitan で Rootlessという機能がデフォルトで有効になって、sudoでも、/usr/bin領域が書き換えられなくなりました。ただ、意図して書き換えることができるように、

  1. Command+Rを押しながら起動して、Utility – Terminalを起動
  2. 以下のコマンドでRootlessを無効にする
  3. csrutil disable; reboot
     

  4. 再起動して以下のコマンドで、Gemを削除
  5. rm -rf /usr/bin/gem

  6. 以下のコマンドで、RVM(Ruby Version Manager)をアンインストール
  7. rvm implode

  8. Command+Rを押しながら再起動して、Rootlessを再度有効にする
  9. csrutil enable; reboot

  10. RVMをインストール
  11. \curl -sSL https://get.rvm.io | bash -s stable

  12. RVMの設定
  13. rvm get head
    rvm --auto-dotfiles
    ram reload
    rvm list known
    rvm install 2.3
    rvm docs generate-ri
    which gem

    最後のコマンドで、どのgemが参照されるか確認すると、

    MBPR:~ tomohisa$ which gem
    /Users/tomohisa/.rvm/rubies/ruby-2.3.0/bin/gem

    と正しいgemが参照されました。sudoが必要ないエリアにインストールできたので、
    gem install cocoapods
    gem install zewo-dev

    のようにsudo なしで、gemを使用できるようになりました。

GUIの統合環境ばかりで久しぶりにCUIの環境で開発していますが、慣れてくるとこちらも楽しいですね。