Ruby 빌드 문제 해결

로컬 컴퓨터에서 Ruby를 빌드하는 데 문제가 있습니까? 로컬 환경을 한 번에 구성하는 방법은 무엇입니까?



Ruby 빌드는 빌드 도구, 컴파일러, 링커, openssl, libyaml, readline 등과 같은 공유 라이브러리와 같은 몇 가지 핵심 요소에 의존합니다. 그리고 우리는 이러한 모든 도구와 라이브러리를 찾기 위해 ruby-build를 도와야 합니다.

공유 솔루션은 Homebrew이 있는 macOS용으로 설계되었습니다.

시스템 패키지 설치




brew install gmp libyaml rbenv readline zlib


보너스로 Xcode Command Line Tools도 설치됩니다.

루비 빌드 사전 구성




export RUBY_CONFIGURE_OPTS="\
  --with-libyaml-dir=$(brew --prefix libyaml) \
  --with-zlib-dir=$(brew --prefix zlib) \
"


루비 3.1+ 설치




brew install openssl@3 rust 
export RUBY_CONFIGURE_OPTS="$RUBY_CONFIGURE_OPTS --with-openssl-dir=$(brew --prefix openssl@3)"
rbenv install 3.2.0-preview2


Note: We need rust for the new YJIT.



루비 2.x-3.x 설치




brew install [email protected]
export RUBY_CONFIGURE_OPTS="$RUBY_CONFIGURE_OPTS --with-openssl-dir=$(brew --prefix [email protected])"
rbenv install 2.7.5


(선택) Jemalloc을 추가하자



활성화하려면Jemalloc Ruby를 설치하기 전에 다음 작업을 수행해야 합니다.

brew install jemalloc

export LDFLAGS="$LDFLAGS -L$(brew --prefix jemalloc)/lib"
export CPPFLAGS="$CPPFLAGS -I$(brew --prefix jemalloc)/include"
export PKG_CONFIG_PATH="$(brew --prefix jemalloc)/lib/pkgconfig:$PKG_CONFIG_PATH"

export MALLOC_ARENA_MAX=2

export RUBY_CONFIGURE_OPTS="$RUBY_CONFIGURE_OPTS --with-jemalloc"


ENV 구성을 위한 최적의 장소



이러한 모든 설정은 .profile , .bashenv 또는 .zshenv 에 배치하는 것이 좋습니다. 그러면 Ruby를 설치하거나 다시 설치할 때마다 설정을 불러올 필요가 없습니다.

다음



ruby-build Wiki 배우기 좋습니다.


Paul Keen은 오픈 소스 기여자이자 JetThoughts의 CTO입니다. 그를 팔로우하거나 GitHub .

If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories.

좋은 웹페이지 즐겨찾기