Skip to content

Instantly share code, notes, and snippets.

@Densyakun
Last active July 30, 2022 06:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Densyakun/ad3e04f844dcdf909f536ee54f881482 to your computer and use it in GitHub Desktop.
Save Densyakun/ad3e04f844dcdf909f536ee54f881482 to your computer and use it in GitHub Desktop.
Kozmik IDE
while read line
do sudo apt install $line
done
install-drogon-for-centos-7.5=Install Drogon for CentOS 7.5
install-drogon-for-centos-7.5=CentOS 7.5用のDrogonをインストールする
{
"files": [
"./install-drogon-centos-7.5.sh"
],
"buttons": [
{
"text": "install-drogon-for-centos-7.5",
"cmd": "./install-drogon-centos-7.5.sh"
}
],
"lang": {
"en-us": "./drogon-centos-7.5-lang-en-us.ini",
"ja": "./drogon-centos-7.5-lang-ja.ini"
}
}
install-drogon-for-macos-12.2=Install Drogon for MacOS 12.2
install-drogon-for-macos-12.2=MacOS 12.2用のDrogonをインストールする
{
"files": [
"./install-drogon-macos-12.2.sh"
],
"buttons": [
{
"text": "install-drogon-for-macos-12.2",
"cmd": "./install-drogon-macos-12.2.sh"
}
],
"lang": {
"en-us": "./drogon-macos-12.2-lang-en-us.ini",
"ja": "./drogon-macos-12.2-lang-ja.ini"
}
}
install-drogon-for-ubuntu-18.04=Install Drogon for Ubuntu 18.04
install-drogon-for-ubuntu-18.04=Ubuntu 18.04用のDrogonをインストールする
{
"files": [
"./apt-install.sh",
"./install-drogon-ubuntu-18.04.txt"
],
"buttons": [
{
"text": "install-drogon-for-ubuntu-18.04",
"cmd": "./apt-install.sh < install-drogon-ubuntu-18.04.txt"
}
],
"lang": {
"en-us": "./drogon-ubuntu-18.04-lang-en-us.ini",
"ja": "./drogon-ubuntu-18.04-lang-ja.ini"
}
}

WindowsでDrogonをインストールする

  • CMakeをインストール(.msiファイル)
  • conanをインストール(.exeファイル)

未定

  • g++をインストール
  • Visual Studio 2019 professional 2019
    • 必要?
    • インストールするにはGUI環境が必要?
  • C++ライブラリ管理ツールのVcpkgを使用
{
"ubuntu-18.04": {
"files": [
"./drogon-ubuntu-18.04.json"
]
},
"centos-7.5": {
"files": [
"./drogon-centos-7.5.json"
]
},
"macos-12.2": {
"files": [
"./drogon-macos-12.2.json"
]
}
}
yum install git
yum install gcc
yum install gcc-c++
git clone https://github.com/Kitware/CMake
cd CMake/
./bootstrap && make && make install
cd ..
yum install centos-release-scl
yum install devtoolset-8
scl enable devtoolset-8 bash
git clone https://github.com/open-source-parsers/jsoncpp
cd jsoncpp/
mkdir build
cd build
cmake ..
make && make install
cd ../..
yum install libuuid-devel
yum install openssl-devel
yum install zlib-devel
brew upgrade
brew install jsoncpp
brew install ossp-uuid
brew install openssl
brew install zlib
git
gcc
g++
cmake
libjsoncpp-dev
uuid-dev
openssl
libssl-dev
zlib1g-dev
  • Drogon の環境構築、開発を効率化する Kozmik IDE 用のデータ(ツール)

TODO

  • パッケージ管理システム、OSに適したデータ構造になっているか?
    • APT は Debian 系の Linux ディストリビューションで採用されるパッケージ管理システム
  • Drogon の環境構築のみでインストールをしていない
  • インストールするソフトウェアごとにスクリプトを分けていない

環境構築に必要な情報

  • パッケージ管理システム
  • OS
  • ISA
  • GUIの有無

OSの判定は必要か?パッケージ管理システムとOSについて

  • Windowsには標準でパッケージ管理システムがないため、OSの判定が必要?
  • WindowsではGUIを使うことを前提とする
  • Ubuntu で Yum や Homebrew を使うこともできる
  • 複数のパッケージ管理システムが存在する場合、どのパッケージ管理システムでインストールするべき?
  • Drogon では CentOS 7.5 にデフォルトでインストールされている CMake のバージョンが低いため git からソースコードをダウンロードしてインストールしているが、それは適切か?
    • CMake のバージョンを判定する
    • CMake を更新する必要がある場合、 CentOS 7.5 ではインストール方法を変更する必要があるか?
    • CentOS の異なるバージョンでも同様にインストールすべきか?

パッケージ管理システムとOS、ソフトウェアとどっちが先?

  • ソフトウェアのインストールにはパッケージ管理システムが必要
  • パッケージ管理システムを使わないでインストールする場合は、git cloneなどでダウンロードする前にインストールされているか確認
    • 必要であればバージョンを確認する
    • ない場合にインストールする操作
    • 手動で更新できるようにする

コマンド、パッケージ管理システム

  • apt-getか?aptか?
    • 現在のUbuntuではapt、Debianではapt-get
  • パッケージをインストールする際にコマンドに sudo を付けるOS: Debian, Gentoo, SuSE
    • Windows, Alpine Linux, macOS, Red Hat で sudo が必要な場合は?
  • sudo apt -y install <package> または sudo apt-get -y install <package>
{
"apt": "sudo apt install git",
"ubuntu-18": "sudo apt install git",
"ubuntu-18.04": "sudo apt install git",
"yum": "yum install git",
"centos-7": "yum install git",
"centos-7.5": "yum install git",
"homebrew": "brew install git",
"macos": "brew install git",
"macos-12.2": "brew install git"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment