Armadilloフォーラム

Ruby Gemの利用について

jmas-ogawa

2016年3月1日 23時03分

サンプルコードに含まれている以外のオープンソースのGemを使用したい場合は、どのようにすればよいでしょうか?

コメント

at_yuma.arakawa

2016年3月2日 11時23分

> サンプルコードに含まれている以外のオープンソースのGemを使用したい場合は、どのようにすればよいでしょうか?
以下のブログ記事が参考になるかと思いますが、どうでしょうか。
- Armadillo-IoTでrubyのwebsocket-client-simpleを利用するには
https://users.atmark-techno.com/blog/46/1152

> > サンプルコードに含まれている以外のオープンソースのGemを使用したい場合は、どのようにすればよいでしょうか?
> 以下のブログ記事が参考になるかと思いますが、どうでしょうか。
> - Armadillo-IoTでrubyのwebsocket-client-simpleを利用するには
> https://users.atmark-techno.com/blog/46/1152
情報有難う御座います。
頂いたリンクについて確認致しました。
リンクの物ですと、githubのrbファイルを直接ディレクトリに放り込む方法となっていましたが、
可能であれば、依存関係の解決も含んだ手法があったら嬉しいなと考えていました。
ADTE等で一度gem実行して、gemsのディレクトリの中身を放り込む方法でもありでしょうか?

at_yuma.arakawa

2016年3月2日 13時22分

> リンクの物ですと、githubのrbファイルを直接ディレクトリに放り込む方法となっていましたが、
> 可能であれば、依存関係の解決も含んだ手法があったら嬉しいなと考えていました。
> ADTE等で一度gem実行して、gemsのディレクトリの中身を放り込む方法でもありでしょうか?
はい、基本的にはそのような方法でも問題ないと思います。
(Rubyのスクリプト自体は実行環境に依存するものでも無いはずなので)

at_yuma.arakawa

2016年3月2日 13時36分

> はい、基本的にはそのような方法でも問題ないと思います。
> (Rubyのスクリプト自体は実行環境に依存するものでも無いはずなので)
すみません、つい先程の回答は誤りです。
RubyGemの中にはCで書かれたコードもあり、そのまま持ってきても動かないものが多いです。
 

DebianユーザーランドとRVM[1]を使用し、
ホームディレクトリ上にRuby実行環境と希望するRubyGemをインストールして、
ホームディレクトリに出来上がったものを持ってくればよいです。

ただし、できあがったものはstripされておらず、サイズが大きいため、
Atmark Distのromfs/ディレクトリ持ってきて、
[ATDE5]$ make romfs
を実行し、できあがったromfsイメージを使用すると良いです。

[1]: https://rvm.io/

> > はい、基本的にはそのような方法でも問題ないと思います。
> > (Rubyのスクリプト自体は実行環境に依存するものでも無いはずなので)
> すみません、つい先程の回答は誤りです。
> RubyGemの中にはCで書かれたコードもあり、そのまま持ってきても動かないものが多いです。
>  
>
> DebianユーザーランドとRVM[1]を使用し、
> ホームディレクトリ上にRuby実行環境と希望するRubyGemをインストールして、
> ホームディレクトリに出来上がったものを持ってくればよいです。
>
> ただし、できあがったものはstripされておらず、サイズが大きいため、
> Atmark Distのromfs/ディレクトリ持ってきて、
> [ATDE5]$ make romfs
> を実行し、できあがったromfsイメージを使用すると良いです。
>
> [1]: https://rvm.io/

アドバイス頂き有難う御座いました。

RubyからBLEデバイスにアクセスしたかったので、
最終的には下記の手順でruby-bleの導入をするに至りました。
https://users.atmark-techno.com/blog/750/1552
https://github.com/sdalu/ruby-ble
※依存するruby-dbusはdpkgを展開して入れました。
この構成で今のところうまく動いています。

以上、結果のご連絡まで。

> > > はい、基本的にはそのような方法でも問題ないと思います。
> > > (Rubyのスクリプト自体は実行環境に依存するものでも無いはずなので)
> > すみません、つい先程の回答は誤りです。
> > RubyGemの中にはCで書かれたコードもあり、そのまま持ってきても動かないものが多いです。
> >  
> >
> > DebianユーザーランドとRVM[1]を使用し、
> > ホームディレクトリ上にRuby実行環境と希望するRubyGemをインストールして、
> > ホームディレクトリに出来上がったものを持ってくればよいです。
> >
> > ただし、できあがったものはstripされておらず、サイズが大きいため、
> > Atmark Distのromfs/ディレクトリ持ってきて、
> > [ATDE5]$ make romfs
> > を実行し、できあがったromfsイメージを使用すると良いです。
> >
> > [1]: https://rvm.io/
>
> アドバイス頂き有難う御座いました。
>
> RubyからBLEデバイスにアクセスしたかったので、
> 最終的には下記の手順でruby-bleの導入をするに至りました。
> https://users.atmark-techno.com/blog/750/1552
> https://github.com/sdalu/ruby-ble
> ※依存するruby-dbusはdpkgを展開して入れました。
> この構成で今のところうまく動いています。
>
> 以上、結果のご連絡まで。
1点はまってしまったところがありましたので、ご報告です。
bluetoothdの起動で上のblogの起動方法だと
/usr/libexec/bluetooth/bluetoothd &
でしたが、これだとbluezのGattServicesが見えない状態となるので、オプションを足して起動する必要がありました。
/usr/libexec/bluetooth/bluetoothd -E &
です。