이 프로젝트는 MSYS2 툴체인을 기반으로 Windows에서 Ruby-2.4 이상 버전의 설치 프로그램을 제공합니다. 이는 Ruby-2.3 및 이전 버전에 사용되었던 MSYS1 기반 RubyInstaller의 후속 버전입니다. 이는 수정된 BSD 라이센스 3조에 따라 라이센스가 부여됩니다.
이전 RubyInstaller와 달리 자체 DevKit을 제공하지 않지만 MSYS2 프로젝트의 풍부한 MINGW 라이브러리 세트를 사용합니다. 따라서 C 확장이 포함된 gem 설치를 위한 빌드 및 런타임 환경을 제공하기 위해 대상 시스템에 설치한 후 MSYS2에 잘 통합됩니다. 이 변경 사항과 더 많은 변경 사항은 CHANGELOG에 문서화되어 있습니다.
Devkit이 아닌 설치 프로그램 파일은 x64-mingw32 또는 x86-mingw32용 순수 Ruby gem 또는 fat 바이너리 gem을 사용하기에 충분합니다. C 기반 소스 gem을 설치하려면 Devkit 설치 프로그램 버전을 사용하는 것이 좋습니다. 일반적인 빌드 도구와 라이브러리를 제공하는 Ruby 디렉터리에 MSYS2/MINGW 빌드 환경을 설치합니다.
일부 gem에는 pacman
별로 설치할 수 있는 추가 패키지가 필요합니다. 아래를 참조하세요. https://msys2.github.io/에서 MSYS2를 수동으로 설치하고 나중에 ridk install
실행하여 기본은 아니지만 필수 개발 도구를 추가할 수도 있습니다. Ruby 및 MSYS2의 무인 설치에 대해서는 FAQ 초콜릿 설치를 참조하세요.
ridk
명령 ridk
는 MSYS2 구성 요소를 설치하고, pacman
과 같은 MSYS 명령을 실행하거나, 실행 중인 셸에서 MSYS2 개발 도구를 사용하기 위한 환경 변수를 설정하는 데 사용할 수 있는 cmd/powershell 스크립트입니다.
추가 옵션은 ridk help
참조하세요.
Usage:
C:/Ruby24-x64/bin/ridk.cmd [option]
Option:
install Install MSYS2 and MINGW dev tools
exec < command > Execute a command within MSYS2 context
enable Set environment variables for MSYS2
disable Unset environment variables for MSYS2
version Print RubyInstaller and MSYS2 versions
use Switch to a different ruby version
help | --help | - ? | / ? Display this help and exit
ridk enable
사용하면 실행 중인 콘솔에서 MSYS2 개발 도구를 활성화할 수 있습니다. 이렇게 하면 sh
, pacman
, make
등을 명령줄에서 사용할 수 있습니다. ridk
명령에 대한 자세한 지침은 Wiki를 참조하세요.
기본 MSYS2 설정에는 컴파일러 및 기타 빌드 도구가 포함되어 있지만 일부 gem에 종속성으로 필요한 라이브러리나 DLL은 포함되어 있지 않습니다. 다행스럽게도 MSYS2 저장소를 통해 필요한 라이브러리 중 상당수를 사용할 수 있습니다. Linux의 apt-get
과 유사하게 ridk exec pacman -S mingw-w64-x86_64-libraryname
따라 설치할 수 있습니다. 접두사 mingw-w64-x86_64
mingw-w64-i686
으로 32비트 RubyInstaller로 교환하세요.
예를 들어 다음과 같은 인기 있는 gem은 소스 gem에서 다음과 같이 설치할 수 있습니다.
sqlite3
gem을 설치하려면: ridk exec pacman -S mingw-w64-x86_64-sqlite3
gem install sqlite3 --platform ruby
nokogiri
gem을 설치하려면: ridk exec pacman -S mingw-w64-x86_64-libxslt
gem install nokogiri --platform ruby -- --use-system-libraries
일부 gem에는 팩맨별로 종속 라이브러리를 설치하도록 올바르게 라벨이 지정되어 있습니다. 이러한 라벨을 보석에 추가하는 방법은 위키를 참조하세요. 추가 설치 권장 사항은 FAQ를 참조하세요.
이 저장소는 RubyInstaller 설정 실행 파일과 7zip 파일을 빌드하기 위한 패키징 작업을 제공합니다. 소스를 컴파일하지는 않지만 MSYS2-MINGW 저장소와 RubyInstaller2 pacman 저장소를 사용하여 바이너리와 종속 라이브러리를 다운로드합니다.
설치 프로그램은 github 저장소에 푸시할 때마다 정기적으로 Github Actions에 구축됩니다. 또한 실행기는 설치 프로그램을 실행하고 이에 대한 모든 RubyInstaller 테스트와 Ruby-spec을 실행하므로 주요 변경 사항에 대한 알림을 받습니다. 이 외에도 최신 Ruby 개발 스냅샷의 일일 빌드가 RubyInstaller 파일로 컴파일되고 패키지됩니다. github 릴리스에서 다운로드할 수 있습니다. CI 빌드에 Ruby-head 버전을 사용하는 방법에 대한 위키를 확인하세요.
ridk install
별로 MSYS2가 설치되어 있는지 확인하세요. set PATH=%PATH% ; " c:Program Files (x86)Inno Setup 6 "
git clone https://github.com/larskanis/rubyinstaller2
cd rubyinstaller2
bundle install
rake -T
rake ri:ruby-3.0.5-x86-msvcrt:archive-7z
^ ^ ^ ^ ^- "archive-7z" => 7z archive of the rubyinstaller files
| | | | "installer-inno" => executable installer file
| | | '------- "msvcrt" => older type of C standard library
| | | "ucrt" => new type of C standard library
| | '------- "x86" => 32 bit ruby and MSYS2 version
| | "x64" => 64 bit version
| '------ "x.x.x" => ruby version to build
| "head" => latest development snapshot of ruby
'------ "ri" => RubyInstaller without Devkit
"ri-msys" => RubyInstaller with MSYS2 based Devkit
packages/ri-msys/recipes/installer-inno/rubyinstaller-devkit--.exe
packages/ri/recipes/archive-7z/rubyinstaller--.7z