「リポジトリのクローンを作成してビルドしてください」と言われたが、次に何をすればよいかわからないということはありませんか?初心者でも、GitHub 上のプログラムを Linux 上で実行する方法を説明します。
コンピュータ プログラムを構成する命令は、テキスト ファイルに記述、編集、保存されます。次に、コンパイラーと呼ばれるプログラムがこれらのファイルを処理します。これにより、プログラムの 実行可能バージョンが生成されます 。命令を記述したテキストファイルをソースコードと呼びます。コンピュータ上で実際に実行できるプログラムのバージョンは、バイナリまたは実行可能ファイルと呼ばれます。
これは出来事を簡略化したものですが、一般化すれば正しい姿を描いています。実際には、そのモデルにはあらゆる種類のバリエーションが存在します。場合によっては、他のプログラムがテキスト ファイルを生成することがあります。また、ソース コードが インタプリタ内で 実行され、コンパイルする必要がない場合などもあります。
ただし、すべてのソフトウェア プロジェクトに共通する唯一の真実は、ソース コード ファイルは 最高の宝石であり、 同様に注意深く扱う必要があるということです。
バージョン管理プログラム
プロジェクト内のすべてのソース コード ファイルはコードベースと呼ばれます。大規模なプロジェクトでは、多くの開発者がコードベースで作業することがよくあります。すべてのコード変更は追跡され、識別可能でなければなりません。必要に応じて、変更は元に戻せる必要があります。異なる開発者が同じソース コード ファイルに変更を加えた場合、編集内容をマージする必要があります。
したがって、コードベースへの変更の管理を容易にするために、バージョン管理システムと呼ばれるソフトウェア プログラムが存在することは驚くべきことではありません。バージョン管理システムは、各ファイルの以前のバージョンをすべてコードベースに保持し、すべての変更が記録され、コメントが付けられ、追跡されます。
Git という小さなもの
Linux カーネルの作成者である Linus Torvalds は、Linux カーネル コードベースを管理するための Git と呼ばれるバージョン管理プログラムを開発しました。現在、世界で最も広く採用されているバージョン管理ソフトウェアです。文字通り、何百万人もの人がそれを使用しています。
Git では、プロジェクトのコードベースがリポジトリに保存されます。開発者のコンピュータや、場合によってはネットワーク上の中央サーバーにあるローカル リポジトリに加えて、オフサイトまたはリモートのリポジトリを用意することをお勧めします。
そこで GitHub が登場します。
GitHub
GitHub は
git
の成功の結果として作成されました。創設者らは、安全にホストされたリモート
git
リポジトリに対するニーズが高まっていることに気づきました。彼らは、開発チームがリモート リポジトリをホストできるようにする
クラウド プラットフォームを提供する
ビジネスを立ち上げました。 2019 年 4 月の時点で、GitHub は 1 億を超えるリポジトリをホストしています。
アプリケーションがオープンソース プロジェクトの場合、GitHub でホストされる可能性が非常に高くなります。 BitBucket や GitLab など、利用可能なリポジトリ プラットフォームは他にもありますが、オープン ソース リポジトリの大部分を占めているのは GitHub です。
リポジトリの構造
GitHub リポジトリは、非常に重要なソース コード ファイルなどのファイルを含むフォルダーで構成されます。通常、リポジトリには他にも多くの種類のファイルがあります。ドキュメント ファイル、マニュアル ページ、ソフトウェア ライセンス ファイル、ビルド手順、およびシェル スクリプト ファイルが含まれる場合があります。リポジトリに何を含めるべきか、または必ず含めなければならないかについてのルールはありませんが、規則はあります。
1 つのキッチンの使い方を知っていれば、どのキッチンでも使いこなすことができます。リポジトリも同様です。規則を理解すると、どこに行けば必要なものが見つかるかがわかります。
では、コンピュータ上にリポジトリのコピーを取得するにはどうすればよいでしょうか。また、プログラムをバイナリ実行可能ファイルにビルドするにはどうすればよいでしょうか?
Readme ファイル
Readme ファイルをリポジトリに含めるのが伝統的です。これは、readme、Readme、または README と呼ばれる場合があります。 「.md」の拡張子が付いている場合もあれば、拡張子がまったく付いていない場合もあります。
Atom エディターの GitHub リポジトリ を見てみましょう。フォルダーとファイルの長いリストが表示されます。下にスクロールすると、README.md ファイルの内容が表示されます。
GitHub は、readme ファイルの内容をリポジトリのフロント ページに自動的に配置します。 Readme ファイルの拡張子が「.md」の場合、 Markdown マークアップ 言語が含まれています。これにより、開発者はフォント、箇条書き、画像などのスタイル要素を使用できるようになります。
通常、Readme ファイルには、プロジェクトの内容、タイプ ライセンスの内容、プロジェクトの管理者、参加方法、アプリケーションの構築と実行方法を説明するセクションがあります。
実際のビルド手順がリストされていない場合は、その情報がどこにあるかが表示されます。必要なビルド ツールやその他の依存関係など、アプリケーションの構築に役立つその他の情報がここにリストされたり、リンクからその情報に移動したりできます。
ボックスリポジトリ
私たちの使命は、
box リポジトリのクローンを作成
し、
boxes
アプリケーションを構築することです。
リポジトリは Atom と同じレイアウトに従います。フォルダーとファイルのリストがあり、その下に Readme ファイルの内容があります。リポジトリの標準レイアウトに従っていますが、プロジェクトが小さいため、フォルダーとファイルの数は少なくなります。
Readme ファイルも簡潔になっています。 「開発」というセクションがあります。このセクションには、「ソースからの構築」というタイトルのリンクがあります。そのリンクをたどれば、必要な 情報が見つかるはずです 。
通常、リポジトリ内を移動して必要な情報を見つけるには、簡単な検索が必要ですが、それは難しくありません。リポジトリ ページのすべてを注意深く読んでください。場合によっては、情報が存在していても、目立つように表示されない場合があります。
依存関係
「ソースからの構築」ページには「Linux での構築」というセクションがあり、これがまさに必要なものです。 C コンパイラ 、 Bison、 Flex を インストールする必要があると書かれています。
ビルド手順には
make
コマンドを発行するように記載されているため、
make
も必要になります。
このアプリケーションの構築に必要なツールは、C コンパイラー、Bison、Flex、
make
、Git (コンピューターにリポジトリのクローンを作成するため) です。
この記事は、Ubuntu、Fedora、および Manjaro Linux ディストリビューションを実行しているコンピューターで調査されました。これらのツールがすべてインストールされているディストリビューションはありませんでした。それぞれに何かをインストールする必要がありました。
ツールセットのインストール
Ubuntu には、Git、Flex、Bison、
make
インストールされている必要がありました。コマンドは次のとおりです。
sudo apt-get install git
sudo apt-get インストール フレックス
sudo apt-get インストールバイソン
sudo apt-get install make
Fedora には Flex、Bison、
make
インストールされている必要がありました。コマンドは次のとおりです。
sudo dnf インストールフレックス
sudo dnf バイソンをインストール
sudo dnf install make
Manjaro には、GCC コンパイラー、Flex、および Bison がインストールされている必要がありました。コマンドは次のとおりです。
sudo pacman -Syu gcc
sudo パックマン -Syu flex
sudo パックマン - Syu bison
リポジトリのクローン作成
各 GitHub リポジトリには、コンピュータにリポジトリのクローンを作成するために Git で使用される特定の Web アドレスがあります。 box リポジトリのメイン ページには、「クローンまたはダウンロード」というラベルの付いた緑色のボタンがあります。
ボタンをクリックすると Web アドレスが表示されます。これは、リポジトリのクローンを作成するときに
git
コマンドに渡す必要があるアドレスです。
リポジトリのクローンを作成するディレクトリに移動し、次のコマンドを使用します。ターミナル ウィンドウがサポートしている場合は、Web アドレスをコピーしてコマンドに貼り付けることができます。 Ctrl+Shift+V を押して、GNOME ターミナル ウィンドウに貼り付けます。
Git はリモート リポジトリのクローンを作成し、コンピュータ上にローカル リポジトリを作成します。 「boxes」というディレクトリにクローンを作成していることがわかります。
box ディレクトリは、
git
コマンドを発行したディレクトリ内に作成されます。 box ディレクトリに切り替えて内容を見ると、GitHub ページで見たのと同じファイルとフォルダーのリストが表示されます。
素晴らしい!ソース コードとその他のファイルをコンピューターに複製することに成功しました。次に、アプリケーションを構築する必要があります。
アプリケーションの構築
アプリケーションを構築するには、GitHub リポジトリの指示に従う必要があります。特定のシェル ファイルを実行する場合もあれば、
make
実行する場合もあります。私たちが従うビルド手順では、
make
実行するように指示されています。
make
ユーティリティは、makefile から一連の命令を読み取り、実行します。これらの指示は、プログラムをコンパイルしてリンクする方法を
make
指示します。
make
命令をコンパイラーや他のビルド ツールに渡します。
使用するように指示されたコマンドは、
make
2 回呼び出します。最初の
make
呼び出しでアプリケーションが構築され、2 番目の呼び出しで一連のテストが実行されます。
ビルド手順で使用するように指示されているコマンドは次のとおりです。
作成 && テストを作成
ターミナル ウィンドウでは、出力の多くの行が急速にスクロールします。 1 分ほどでコマンド プロンプトに戻ります。
ボックスアプリケーションの展開
アプリケーションが構築され、実行可能なバイナリが完成しました。次に、バイナリを /usr/bin/ ディレクトリにコピーする必要があります。これにより、シェルを使用しようとしたときにシェルがそれを見つけることができます。
アプリケーションによっては、これだけで済む場合もあります。また、マニュアル ページや構成ファイルなどの追加ファイルをファイル システム内の場所にコピーする必要がある場合もあります。後者はビルド手順に含まれているため、新しいアプリケーションで行う必要があります。
これらのコマンドを実行するには
sudo
使用します。最初のコマンドは、マニュアル ページを man1 ディレクトリにコピーします。
sudo cp doc/boxes.1 /usr/share/man/man1
次に、グローバル構成ファイルを /usr/share/ のディレクトリにコピーします。
sudo cp box-config /usr/share/boxes
最後に、バイナリを /usr/bin にコピーします。
sudo cp src/boxes /usr/bin
ボックスアプリケーションのテスト
すべてうまくいくかどうか見てみましょう!
boxes
コマンドのマニュアル ページを開いてみてください。
マンボックス
それは励みになります!
boxes
コマンドの使用方法を説明する man ページが表示されます。
「Q」を押して man システムを終了し、
boxes
コマンドを使用してみてください。
echo ハウツー オタク |ボックス
そして、次のような応答が得られます。
これまでの労力を考えると、これは少し圧倒されるように思えるかもしれませんが、この演習の目的は、GitHub からリポジトリを引き出してアプリケーションを構築する手順を説明することでした。
boxes
コマンドを使用すると、パイプされたテキストをさまざまなフレームで折り返すことができます。それらの一部は、ソース コード ファイルのコメントとして使用できます。たとえば、上記の形式は C ソース コード ファイルのコメントとして機能します。その他は純粋に装飾的なものです。
-d
(デザイン) オプションを使用すると、フレームのスタイルを選択できます。
echo ハウツー オタク |ボックス -d ぐるぐる回る
echo ハウツー オタク |ボックス -d c-cmt2
デザインの長いリストがあり、そこから選択できます。それらをすべて表示するには、次のコマンドを使用します。
ボックス -l |少ない
ビルドが完了しました
ソースからビルドする手順は通常、簡単です。
- リポジトリのビルド手順を確認してください。
- 必要なツールがインストールされていることを確認し、不足しているツールがあればインストールします。
- リポジトリのクローンをコンピュータに作成します。
-
ビルド手順に従います。多くの場合、
makeと入力するだけで簡単になります。 - ファイルを必要な場所にコピーします。
ビルド手順に不明瞭なステップがある場合は、プロジェクトに質問を送信できるフォーラムまたはコミュニティがあるかどうかを確認してください。アプリケーションに Web サイトがある場合は、「お問い合わせ」ページがある場合があります。 box プロジェクトを管理する開発者の電子メールは 、box Web サイト の「About」ページにあります。これは同氏の寛大な態度であり、より広範なオープンソース コミュニティに典型的なものです。
関連: 開発者と愛好家のための最高の Linux ラップトップ





