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

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

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

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1200閲覧

Githubで公開されている機能をRailsで使用したい

takamaru_ss

総合スコア6

GitHub

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/09/22 06:52

編集2021/09/22 07:12

前提・実現したいこと

GitHubで公開されているこちらの機能をRailsアプリで使用したいです。
https://github.com/lazaronixon/trix-extensions

Rails6のActionTextに使われているTrixの拡張機能?のようなものです。

発生している問題

GitHubについては自分がデプロイするためにしか使ったことがないため、公開されているものを自分のアプリで使用する方法がわかりません。
おそらくかなり基本的なことなのだとは思うのですが、どう調べていいのかわからず調べてもGitHubの導入の仕方ばかり出てきてしまい目的の情報に辿り着けません。

試したこと

git clone 「CodeボタンのClone欄のurl」
でインストールできると書いてあるサイトがあったので、アプリのディレクトリで
git clone https://github.com/lazaronixon/trix-extensions
と入力したところ

Cloning into 'trix-extensions'... remote: Enumerating objects: 34, done. remote: Counting objects: 100% (34/34), done. remote: Compressing objects: 100% (22/22), done. remote: Total 34 (delta 5), reused 32 (delta 3), pack-reused 0 Receiving objects: 100% (34/34), 5.57 KiB | 2.78 MiB/s, done. Resolving deltas: 100% (5/5), done.

と表示されアプリに必要なものがインストールされたようなのですが、変化はありませんでした。

zipでダウンロードしてみましたが、複数あるファイルの中のどのファイルをどこに入れればいいのかがわからないです。

仕組みを把握できていないためかなり曖昧な質問の仕方になってしまいましたがご教授いただけますと幸いです。

###追記
ダウンロードしたzipファイルと同じものがアプリのトップディレクトリにあったため、git cloneがファイル(trix-extentions)を丸ごとディレクトリに持ってくるものであることは理解しました。

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

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

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

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

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

maisumakun

2021/09/22 07:15

Gemとして上がっているかは探してみましたか?
takamaru_ss

2021/09/22 08:01

gem trix-extensionsで検索してみましたがrdf-trixというものしかヒットしないです。 こちらはデータの解析やグラフ表示に関するgemなようなので今回のもの(テキストエディタに色付け機能などを追加するもの)とは別物なようです。
guest

回答1

0

ベストアンサー

Github(であれどのgit repositoryであれ)にある一般的ライブラリをそのままRailsから利用する一般的方法は存在しません。理由は、git repositoryにあがっているソースをどうRailsに組み込むかは、それぞれのソースによって異なるからです。

ただし、Githubにあがっているのが、RubyのGem形式になっている場合に限っては簡単で、Gemfileに以下のように記載すればよいです。ここで、name_of… がそのGemやgithubのディレクトリ名です。

ruby

1gem 'name_of_your_gem', '~> 0', '>= 0.1', git: 'https://github.com/SOMEONE/NAME_OF_YOUR_GEM_SOURCE'

使おうとしているtrix-extensionsの場合、Gemのディレクトリ構造になっていないようですね。したがって、この方法は使えません。言い換えれば、trix-extensions は、そのまま Railsで使える形にはなっていません。

対策ですが、理想的には、そのGithubのソースを自分でforkして、自分でRailsのパッケージ(つまりRubyのGem)にするよう書き換えることが最善です。こうすれば、基のソースに変更があった場合、それをforkした自分のGemに反映するためのフレームワークが整っていることになりますから。

Railsの公式ガイドに従ってプログラミングしていけばよいでしょう。
ただし、相当高度であり、そのためのRubyのコードをたくさん書く必要があります。自分でRails用のGemを開発するわけですから。

そこまでしたくはなくて、とにかく、現在バージョンでいいから、なりふり構わずそのGithubのソースを自分の開発中のRailsアプリに組込みたい、という場合は、そのソースを取ってきて(git cloneでもいいし、zip fileをダウンロードしてもいい)、それを自分のRailsのアプリのディレクトリの中に直接コピーすれば可能です。単純に cp を使ったりあるいはドラッグ・アンド・ドロップでコピーしても構いません。もしくは、ターミナルで rsync を使えば、もう少しエレガントにできます。たとえば、以下でいけるのではと思います(試していませんが)。最初のパスが取ってきたソース、最後のパスが開発中のRailsのアプリです。

bash

1rsync -av --exclude=LICENSE --exclude=README.md /YOUR_DIR/trix-extensions/ /YOUR/RAILS/DIR/YOUR_APP

rsyncの使用法の詳しくは、man rsyncなどでチェックしてみてください。tipsとして、思わぬ副作用を避けるためには、-n-u オプションは特に有用です。

Githubのソースを見ると、この場合はファイル数は大したことない様子なので、rsyncを使うことなく単にcpで一つ一つコピーしても十分でしょうか。

投稿2021/09/22 23:10

編集2021/09/22 23:12
MasaSakano

総合スコア188

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

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

takamaru_ss

2021/09/28 06:38

ありがとうございます。 zipファイルの中身をそれぞれのディレクトリに移動させてimportした上で一部ファイルを書き換えることで対応させることができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問