Swiftでの開発環境
Swiftでボットを作るためのフレームワークをオープンソース化しました こちらの記事でオープンソースSwiftでの開発を始めているのですが、最初あまりにも試行錯誤だったので、まとめの情報を書いておきたいと思います。僕もわからないことばかりで、試行錯誤中なので、この方法がいいよというのがあったら教えてください。
Zero4Racer PRO Developer's Blog
iOS, Mac 技術情報サイト
Swiftでボットを作るためのフレームワークをオープンソース化しました こちらの記事でオープンソースSwiftでの開発を始めているのですが、最初あまりにも試行錯誤だったので、まとめの情報を書いておきたいと思います。僕もわからないことばかりで、試行錯誤中なので、この方法がいいよというのがあったら教えてください。
Swift がオープンソース化して、Linux、OSX両方で動くコードを書けるようになったので、Slackのボットに挑戦してみました。
tomohisa/SwiftSlackBotter: Bot Framework for Swift Linux Command Line
以下はReadmeの意訳です。
SwiftSlackBotter はLinux、OSXで動くSlackボットのためのフレームワークです。 J-Tech Creations, Inc. により作成されました。
SwiftSlackBotter はSwiftのための Slack Bot フレームワークです。オープンソース版の DEVELOPMENT-SNAPSHOT-2016-02-08-a Swift を使用する必要があります。Zewo フレームワークのバージョン 0.3、Environment フレームワークのバージョン 0.1 を使用しています。
Zewo/Zewo: Open source libraries for modern server software.
czechboy0/Environment: Easy access to environment variables from Swift. Linux & OS X ready.
ここでは、OSX環境の設定方法を書いています。Linuxでのビルド方法は、各ツールのページから見つかります。
(Linuxのビルドはまだ試していません)
“Swiftでボットを作るためのフレームワークをオープンソース化しました” の続きを読む
最近、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領域が書き換えられなくなりました。ただ、意図して書き換えることができるように、
csrutil disable; reboot
rm -rf /usr/bin/gem
rvm implode
csrutil enable; reboot
\curl -sSL https://get.rvm.io | bash -s stable
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の環境で開発していますが、慣れてくるとこちらも楽しいですね。