2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Window限定】Rubyのコードをexe形式で出力する

Last updated at Posted at 2021-02-13

【追記2はじめ】

コメントにて、記事の補足を頂戴しております。
情報誠にありがとうございました🙇‍♂️
https://qiita.com/yoneapp/items/d0e5a341e134ac569a4c#comment-e76719520cbe306a2101

【追記2おわり】

【追記はじめ】

http://openssl.so がないと怒られる
どうも .rb や .dll はバンドルするオプションがあるのに .so についてはオプションが存在しないっぽい
http://aligach.net/diary/201910.html

この記事は最終的に、上記の記事のとおりにハマって活用できない可能性が高いです。

【追記おわり】

調べてみたところ、あまり活発ではない手法のようです。

Mac用に書き出せたりもしないので
JavaScriptでElectonとかを使ったほうがスムーズかもしれませんね。

ただ、Rubyを使うだけでexe形式の何かを作れるのは良いと思いました。

> ocra .\sample.rb

さて、雑に上記のようにしますとexe生成には成功しますが次のようなエラーが発生して起動しません。

スクリーンショット 2021-02-13 14.58.13.png

ruby_buiktin_dlls\libssp-0.dll was not found

これを解消しなくてはなりません。

> ocra .\sample.rb --dll ruby_builtin_dlls\libssp-0.dll

これで解決です。

次に ocra は sample.rb 実行して依存関係を調べているような気がします。
なので終了しないスプリクトだと処理が終わらないような気がします。

そこで --no-dep-run (実行しない) を入れます。
公式に --no-dep-run は --gem-full セットでと書いてあったのでそうします。

> ocra .\sample.rb --no-dep-run --gem-full --dll ruby_builtin_dlls\libssp-0.dll

最終的な実行コマンドはこちらです。
これで Windows で実行可能な exe形式のruby製プログラムの作成に成功しました。

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?