質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

2回答

1000閲覧

GitHubで公開されている野良のpure rubyプログラムを使いたい

mandaz

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2021/11/13 23:40

前提・実現したいこと

githubに公開されているbufrconvというpure rubyプログラムを使いたい。
https://github.com/etoyoda/bufrconv

発生している問題・エラーメッセージ

rubyのgemだと思ってコマンドプロンプトで以下を入力し
gem specific_install -l 'https://github.com/etoyoda/bufrconv.git
インストールしようとしたところ、インストールできませんでした。
エラーメッセージは以下の通りです。

エラーメッセージ git version 2.33.0.windows.2 git installing from https://github.com/etoyoda/bufrconv.git Cloning into 'C:/Users/_____/AppData/Local/Temp/d20211114-16528-njpvfa'... remote: Enumerating objects: 2100, done. remote: Counting objects: 100% (175/175), done. remote: Compressing objects: 100% (114/114), done. remote: Total 2100 (delta 113), reused 120 (delta 61), pack-reused 1925R Receiving objects: 100% (2100/2100), 966.75 KiB | 14.01 MiB/s, done. Resolving deltas: 100% (1484/1484), done. attempting ... attempting rake gemspec... rake aborted! No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb) (See full trace by running task with --trace) attempting rake gem... rake aborted! No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb) (See full trace by running task with --trace) attempting rake build... rake aborted! No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb) (See full trace by running task with --trace) attempting rake package... rake aborted! No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb) (See full trace by running task with --trace)

該当のソースコード

gem specific_install -l 'https://github.com/etoyoda/bufrconv.git'

試したこと

rakeというgemのバージョンの問題かと思いダウングレードしてからもう一度動かしましたが、同じ結果でした。

補足情報(FW/ツールのバージョンなど)

rubyを使い始めたばかりなので初歩的なミスかと思いますが、詳しい方教えていただけるとありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

gemはライブラリ(一部はプログラムとしても使用できるようになってはいる)をインストール・管理する物です。gemでインストールできるプログラムはgemライブラリとして使用できるように作られている必要があります。gemライブラリはアプリ名.gemspecというファイルを用いて依存関係などを管理するため、ソースコードには必ずアプリ名.gemspecというファイルがあります。もしなければ、それは、gemでインストールできるようには作られていないと言うことです。

プログラム中には、ライブラリでは無くアプリケーションとして公開されている場合があります。そういったものはgemでインストールするわけではないので、アプリ名.gemspecはありません。ではどのようにしてインストールするというと、単純に、ダウンロードして、そこで実行するだけです。親切な物であれば、ダウンロードする手順から必要な依存関係などの入れ方も教えてくれる物もあります。RailsアプリのようなものはDBの設定等もあるでしょう。ただ、単純に、おいて使うだけなら、それらの説明は無かったりします。

該当のアプリにはアプリ名.gemspecはありませんので、gemライブラリではありません。ではインストール方法を書いているかというと、そういった説明は省いているようです。これは、不親切と言うよりも、「それぐらいのことは知っているぐらいの知識が無いと、これをつかうのは難しい」という事を示しているとも言えます。このプログラムの使い方は単純です。ダウンロードして、実行する、それだけです。では、どうやってダウンロードしたらいいのか?GitHubからアプリをダウンロードしたことがある人にとっては自明なので、説明していないのです。

ただ、ちょっとやはり不親切ですね。昔のGitHubのインターフェースでは「Download」と言うボタンがすぐに見えたはずなのに、いまは、ちょっと操作しないと見えなくなっています。ググれば簡単にみつかるのへすが、簡単に説明しましょう。

【最新のコードをダウンロードしたい場合】
緑色の「Code▼」というボタンを押してください。Git等でクローンするためのURL、GitHub Desktopを使ってダウンロードするためのリンク、そして、ZIPとしてダウンロードするためのリンクが現れます。Gitとかよくわからないというか場合は「Download ZIP」を押せばいいです。ZIPの展開方法はわかりますよね?

これは、最新の状態なので、不具合とかがあるかも知れません。

【リリースされたバージョンをダウンロードしたい場合】
左側の「Release」のリンクを押します。そうすると、今の段階でリリースされたバージョンが表示されます。Assetsには作者が作ったアーカイブ(任意の名前のリンク)と、リリース時点のソースコード(Soruce codeという名前のリンク)がありますので、そちらをダウンロードします。

ダウンロードして展開すれば使えると思いますが、まともに使えるかどうかは作者がどこまで管理しているかです。GitHubには主に自分が使うけど、知識があればみんなも使ってもいいよと公開されているアプリケーションがたくさんあります。そういう物は説明も不十分な物があります。そうなると、解決できるのはその作者だけって言うこともよくあることです。ダウンロードして使ってみたけど、なんかうまくいかないという場合は、GitHubのIssuesに投げた方がいいでしょう。

投稿2021/11/14 01:41

raccy

総合スコア21737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mandaz

2021/11/14 04:58 編集

非常にわかりやすいご説明ありがとうございました。 初心者なので非常に助かりました。 自分で調べた結果、そういったgemではないライブラリはrequireで呼び出すことができると わかりました。 Interactive Rubyでカレントディレクトリを変更し require "./bufrscan.rb"と書き込み動かすとtrueと表示されました。 ライブラリの読み込みに成功したかと思ったのですが、 いざ ruby bufrdump.rb fileで実行してみると undefined local variable or method `bufrdump' for main:Object (NameError)と表示され ライブラリが認識されていない状態でした。 あれこれ試した結果コマンドプロンプトから C:/___/bufrdump.rb -d C:/______/IUPC44_RJTD_010000_201912010016132_001.send と直接ライブラリのファイルを指定して動かした結果上手くいきました。 ライブラリでウィンドプロファイラのデータをjsonに印字したものをcsvに書き出しました(以下コード)。 C:/_____/bufrdump.rb -d C:/____/IUPC44_RJTD_010000_201912010016132_001.send >C:/___/____.csv 正解の方法があるのかもしれませんが、とりあえずこれでライブラリを使えそうです。
guest

0

rubyのgemだと思って

gemではないのでは?

投稿2021/11/14 00:20

otn

総合スコア85778

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問