\r\n\r\n
clone repo and build it "と言われたけど、次に何をすればいいのかわからないということはありませんか?初心者の方でもLinuxでGitHubのプログラムを動かす方法をご紹介します。
コンピュータ・プログラムを構成する命令は、テキスト・ファイルに記述され、編集され、保存されます。そして、これらのファイルを処理するのが、コンパイラと呼ばれるプログラムである。これにより、プログラムの実行形式が生成されます。命令のテキストファイルはソースコードと呼ばれます。実際にコンピュータ上で実行できるプログラムのバージョンを、バイナリファイルまたは実行可能ファイルと呼びます。
これは簡略化したものであるが、一般的であるにせよ、正しい姿を描いている。実際には、このモデルにはさまざまなバリエーションがあります。他のプログラムがテキストファイルを生成することもあります。他にも、コンパイルせずにインタープリターでソースコードを実行する、などなど。
しかし、ソースコード・ファイルは王冠の宝石であり、同等の注意を払う必要があることは、すべてのソフトウェア・プロジェクトに共通する事実です。
プロジェクトに含まれるすべてのソースコード・ファイルをコードベースと呼びます。大規模なプロジェクトでは、通常、多くの開発者がコードベースで作業しています。コードに対するすべての変更は追跡され、識別されなければならない。変更は、必要に応じて元に戻すことができること。異なる開発者が同じソースコード・ファイルに変更を加えた場合、それらの編集はマージされなければなりません。
そのため、バージョン管理システムと呼ばれるソフトウェアが存在し、コードベースの変更を容易に管理することができるのは当然である。バージョン管理システムは、コードベース内の各ファイルの過去のバージョンをすべて保持し、各変更を記録、コメント、追跡します。
Linuxカーネルの生みの親であるlinustorvaldsは、Linuxカーネルのコードベースを管理するために、Gitというバージョン管理プログラムを開発しました。現在、世界で最も広く使われているバージョン管理ソフトウェアである。何百万人もの人が使っているのです。
Gitでは、プロジェクトのコードベースは、リポジトリに保存されます。開発者のコンピュータにあるローカルリポジトリと、おそらくネットワーク上の中央サーバーにあるローカルリポジトリに加えて、オフサイトまたはリモートリポジトリを持つことが推奨されます。
そこで便利なのがGitHubです。
GitHubは、gitの成功の結果です。創業者たちは、安全にホストされたリモート git リポジトリの必要性を感じていました。彼らは、開発チームがリモートリポジトリをホストできるクラウドプラットフォームを提供するビジネスを立ち上げました。2019年4月現在、GitHubのリポジトリ数は1億を超えています。
アプリケーションがオープンソースのプロジェクトであれば、GitHubでホストされている可能性が非常に高いです。リポジトリプラットフォームは他にもBitBucketやGitLabなどがありますが、オープンソースリポジトリのシェアはGitHubが最も高いです。
GitHubのリポジトリは、すべての重要なソースコード・ファイルなどのファイルを含むフォルダで構成されています。多くの場合、リポジトリには他の多くの種類のファイルが存在します。ドキュメントファイル、マニュアルページ、ソフトウェアライセンスファイル、ビルド手順書、シェルスクリプトファイルなどがあります。リポジトリが何を含むべきか、または含まなければならないかについての規則はありませんが、いくつかの慣習があります。
キッチンに慣れていれば、どんなキッチンでもナビゲートすることができます。ストレージ・ライブラリも同様です。規約を知れば、どこに行けば必要なものが手に入るかがわかる。
では、どのようにして自分のコンピュータにリポジトリのコピーを取得し、どのようにしてプログラムをバイナリ実行ファイルにビルドするのでしょうか?
従来は、リポジトリに自己紹介の文書を入れるのが一般的でした。吹き出し、自己言及、自己言及と呼ばれることもある。拡張子が".md "であったり、拡張子がなかったりします。
それでは、AtomエディタのGitHubリポジトリを見てみましょう。フォルダとファイルの長いリストが表示されます。下にスクロールすると、Readme.md ファイルが表示されます。
GitHubは、リポジトリの最初のページに、readmeファイルの内容を自動的に配置します。readmeファイルの拡張子が".md "であれば、マークアップ言語を含むことになります。これにより、開発者はフォント、箇条書き、画像などのスタイル的な要素を使用することができます。
通常、Readme文書には、プロジェクトの内容、タイプライセンス、プロジェクトの管理者、参加方法、アプリケーションのビルドと実行方法などを説明するいくつかのセクションがあります。
実際の構築手順が記載されていない場合は、その情報がどこにあるかが記載されています。必要なビルドツールやその他の依存関係など、アプリケーションのビルドに役立つその他の情報は、ここに記載されているか、またはリンクで見つけることができます。
私たちのタスクは、boxのリポジトリをクローンし、boxアプリケーションをビルドすることでした。
リポジトリはAtomと同じレイアウトになります。フォルダとファイルのリストがあり、その下に自己紹介ファイルの中身があります。リポジトリの標準的なレイアウトに従いますが、より小さなプロジェクトであるため、フォルダやファイルの数は少なくなっています。
また、Readmeファイルも短くなっています。開発」という項目があり、この中に「ソースからの構築」というリンクがあります。このリンクをたどれば、必要な情報が見つかるはずだ。
通常、リポジトリをナビゲートして必要な情報を見つけるには、軽い探偵的な作業が必要ですが、難しいことではありません。リポジトリページに書かれていることをすべてよく読んでください。情報はあっても、目立つように表示されていないこともあります。
buildingfromsource」のページには、「buildingonlinux」という項目があり、まさにこれが必要なのです。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 install flex sudo apt-get install bison sudo apt-get install makeFedoraでは、Flex、Bison、makeがインストールされている必要があります。以下はそのコマンドです。
sudo dnf install flex sudo dnf install bison sudo dnf install makeManjaroでは、GCCコンパイラ、Flex、Bisonがインストールされている必要があります。以下はそのコマンドです。
sudo pacman -Syu gcc sudo pacman -Syu flex sudo pacman -Syu bisonGitHubの各リポジトリには、特定のウェブアドレスがあり、Gitでリポジトリをコンピュータにクローンするために使用されます。Boxリポジトリのトップページに、"Clone or Download "と書かれた緑色のボタンがあります。
ボタンをクリックすると、リポジトリのクローンを作成する際にgitコマンドに渡す必要があるアドレスであるURLが表示されます。
リポジトリをクローンしたいディレクトリに切り替え、このコマンドを使用します。ターミナルウィンドウが対応している場合は、URLをコピーしてコマンドに貼り付けることができます。Ctrl+Shift+VでGNOME端末ウィンドウに貼り付けます。
Git はリモートリポジトリをクローンし、あなたのコンピューターにローカルリポジトリを作成します。"box "というディレクトリにクローンしていることを教えてくれます。
gitコマンドを発行したディレクトリに、boxディレクトリが作成されます。boxesディレクトリに切り替えて中身を見ると、GitHubのページと同じファイルやフォルダの一覧が表示されます。
ソースコードやその他のファイルをコンピュータにクローンすることに成功したので、次はアプリケーションをビルドする必要があります。
アプリケーションをビルドするためには、GitHubのリポジトリにある指示に従う必要があります。あるときは特定のシェルファイルを実行し、またあるときはmakeを実行します。私たちが従うビルド手順では、makeを実行するように指示されています。
makeユーティリティは、makefileに記述された命令群を読み込んで実行します。この指示は、makeにプログラムのコンパイルとリンクの方法を伝えます。makeはこの指示をコンパイラや他のビルドツールに渡します。
最初の呼び出しでアプリケーションを生成し、2回目の呼び出しで一連のテストを実行します。
generate コマンドは、使用するコマンドを次のように示します。
make && make test何行もの出力がターミナルウィンドウを素早くスクロールし、約1分後にコマンドプロンプトに戻ります。
アプリケーションのビルドが完了し、実行可能なバイナリができました。ここで、バイナリを /usr/bin/ ディレクトリにコピーする必要があります。これによって、私たちが使おうとしたときに、シェルがそれを見つけることができるのです。
アプリケーションによっては、これだけで済む場合もあります。また、他のファイル(マニュアルページや設定ファイルなど)をファイルシステム上の場所にコピーする必要がある場合もあります。後者は、ビルド手順書にあるように、新しいアプリケーションに対して行わなければならない操作です。
これらのコマンドを実行するにはsudoを使用します。最初のコマンドは、マニュアルページをman1ディレクトリにコピーします。
sudo cp doc/boxes.1 /usr/share/man/man1次に、グローバル設定ファイルを /usr/share/ にあるディレクトリにコピーします。
sudo cp boxes-config /usr/share/boxes最後に、バイナリファイルを /usr/bin にコピーします。
sudo cp src/boxes /usr/bin問題ないか見てみましょう!boxコマンドのマニュアルページを開いてみてください。
man boxesなんと心強い!boxコマンドの使い方を紹介したマニュアルページがあります。
Q "を押してmanシステムを終了し、BOXSコマンドを使用してみてください。
echo How-To Geek | boxesという答えが返ってきました。
これまでの苦労を考えると少し物足りない気もしますが、この演習のポイントは、GitHub からリポジトリを抽出してアプリケーションをビルドするまでの手順を案内することです。
boxesコマンドは、パイプラインで転送されたテキストを様々なフレームで囲むことができます。これらのうちいくつかは、ソースコード・ファイルのコメントとして使用することができます。例えば、上記の書式は、C言語のソースコード・ファイルのコメントとして使用することができます。また、純粋に装飾的なものもあります。d(デザイン)オプションでは、フレームのスタイルを選択することができます。
echo How-To Geek | boxes -d whirly echo How-To Geek | boxes -d c-cmt2デザインは多数用意されており、その中から選ぶことができます。
boxes -l | lessソースコードからビルドする手順は、通常、単純です。
構築手順で不明な点がある場合、プロジェクトにフォーラムやコミュニティがあり、そこに質問を送ることができるかどうか確認してください。アプリケーションがウェブサイトを持っている場合、「お問い合わせ」ページがある場合があります。boxesプロジェクトを管理している開発者は、boxサイトの「About」ページにメールを掲載しています。これは、オープンソースコミュニティの典型的な例であり、寛大な行為である。