sourcetip

가상 환경에 해당하는 루비?

fileupload 2023. 6. 2. 21:17
반응형

가상 환경에 해당하는 루비?

Python 유틸리티 가상 환경과 비슷한 것이 있습니까?

할 수 때문에 Python 패키지를 설치할 수 .easy_install django시스템 전체 사이트 검색 디렉터리에 들어가지 않고 가상 환경에서 생성된 디렉터리에 들어갑니다.

예:

$ virtualenv test
New python executable in test/bin/python
Installing setuptools...cd .........done.
$ cd test/
$ source bin/activate
(test)$ easy_install tvnamer
Searching for tvnamer
Best match: tvnamer 0.5.1
Processing tvnamer-0.5.1-py2.5.egg
Adding tvnamer 0.5.1 to easy-install.pth file
Installing tvnamer script to /Users/dbr/test/bin

Using /Library/Python/2.5/site-packages/tvnamer-0.5.1-py2.5.egg
Processing dependencies for tvnamer
Finished processing dependencies for tvnamer
(test)$ which tvnamer 
/Users/dbr/test/bin/tvnamer

루비젬스에게 이런 것이 있습니까?

RVM은 다양한 루비 버전과 해당 보석 등을 샌드박스로 만들 수 있기 때문에 가상 환경의 작동 방식에 더 가깝게 작동합니다.

샌드박스, RVM 및 rbenv는 앱의 보석 의존성 버전을 관리하지 않습니다.그것을 위한 도구는 번들입니다.

  • 응용 프로그램의 종속성 선언으로 Gem 파일 사용
  • 사용하다bundle install합니다.
  • 사용하다bundle exec 프로그램을 합니다.

Bundler(RVM - RVM과 함께 루비 및 글로벌 보석의 기본 세트를 관리하고 Bundler는 프로젝트별 보석을 처리하는 데 사용)를 사용하는 방법에 대해 설명하겠습니다.

bundler install --binstubs --path vendor

이를 프젝트루이실명행령하면나열다보에 넣습니다../vendor 실행파에 있는 모든 ./bin 모두 그에외.require (으)로 함)bundle console또는 번들러가 필요로 함)는 이러한 전처 및 립을 참조합니다.

아무도 rbenv를 언급하지 않은 것 같습니다.

해야 할 gem을 해 .GEM_HOME환경 변수입니다.그럼 그냥 도망가gem.

예:

$ export GEM_HOME=$HOME/local/gems
$ gem install rhc

디렌브를 추천합니다.그것은 껍질을 위한 환경 전환기입니다.

각 프롬프트가 표시되기 전에 현재 디렉터리와 상위 디렉터리에 ".envrc" 파일이 있는지 확인합니다.파일이 존재하고 인증된 경우 파일이 bash 하위 셸에 로드되고 내보낸 모든 변수가 direnv에 의해 캡처된 다음 현재 셸을 사용할 수 있게 됩니다.

다음은 루비 설치와 함께 direnv를 사용하는 방법입니다.

루비 설치

을 에추니다에 합니다.~/.direnvrc

use_ruby() {
  local ruby_root=$HOME/.rubies/$1
  load_prefix "$ruby_root"
  layout_ruby
}

ruby-install 설치)brew install ruby-install 및 루비 다발을 설치합니다.

ruby-install ruby 1.9.3
ruby-install ruby 2.0.0
ruby-install ruby 2.2.0

그런 다음 편의를 위해 몇 가지 심볼릭 링크를 만듭니다.

ln -s .rubies/1.9 ruby-1.9.3-p*
ln -s .rubies/2.0 ruby-2.0.0
ln -s .rubies/2.2 ruby-2.2.0

그리고 마지막으로 어떤 프로젝트에서든..envrc:

use ruby 2.0

▁the▁all에 넣을 것입니다..direnv/ruby디렉터리(보석을 더 쉽게 열 수 있음).번들러가 래퍼 이진 파일을 저장합니다..direnv/bin(더 이상 없음)bundle exec!).

르벤브

또한 다음을 추가하여 erbenv를 사용할 수 있습니다.use rbenv어떤 방면에 있어서도 통달리..envrc파일. 그러면 rbenv가 활성화되어 루비 래퍼가 PATH에 들어갑니다.

이 기능이 작동하려면 .bashrc 또는 .zshrc에 rbenv를 설치할 필요가 없습니다.

RVM

루비 프로젝트에서 사용하는 가장 복잡한 .envrc는 다음과 같습니다.

rvm use 1.8.7
layout ruby
PATH_add .direnv/bundler-bin

rvm은 사용자에게 적합한 루비 버전을 선택하는 데 사용됩니다.

레이아웃 명령은 일반적인 환경 변수 중 일부를 자동으로 설정합니다.현재는 루비 레이아웃만 존재합니다.GEM_HOME 환경 변수를 설정하고 경로에 대한 bin 디렉토리를 설정합니다.루비 버전에 따라 다르므로 "rvm" 뒤에 호출해야 합니다.각 루비 레이아웃 디렉토리에는 고유한 GEM_HOME이 있으므로 rvm의 gemset을 사용할 필요가 없습니다.

PATH_add는 지정된 상대 경로를 추가하고 확장합니다. 때, 빈 의 빈 합니다.bundle install --binstubs .direnv/bundler-bin

이 그 이 정확히 무엇을 하는지 은 cat 이한명가정확무엇히하싶알면다는지고금지은, 러령어을▁cat▁if▁cat▁exactly▁for,:지▁what▁out.direnv stdlib보다 적은

여기 현재 루비를 배우고 있는 경험 많은 파이썬 개발자의 2센트입니다.rbenvrbenv-gemset 플러그인과 함께 사용하는 것이 제가 지금까지 찾은 Python Virtual Environments와 가장 유사합니다.

rbenv는 동일한 플랫폼에서 여러 Ruby 버전을 관리하는 도구입니다.만약 당신이 파이썬 개발자라면, 당신은 아마도 pyenv를 우연히 발견했을 것입니다.음, 그들은 같은 목적을 가지고 있고, 사실, 파이엔브는 실제로 rbenv의 포크로 태어났습니다.

많은 기술적 세부사항을 입력하지 않고, Rbenv는 당신에게 주입된 SIM 실행 파일을 사용하여 Ruby 명령을 가로챈다.PATH및 응용 프로그램에서 지정한 Ruby 버전을 확인하고 명령을 올바른 Ruby 설치로 전달합니다.

루비 버전은 다양한 방법으로 프로젝트에 대해 지정할 수 있습니다.가장 일반적인 것 중 하나는 다음을 배치하는 것입니다..ruby-version원하는 버전을 포함하는 프로젝트 루트 디렉터리의 파일입니다.

그러나 버전이 보석을 설치하는 데 사용될 때마다 해당 버전을 사용하는 모든 프로젝트에서 보석이 공유됩니다.

여기에 rbenv-gemset 플러그인이 유용합니다.유사한 방식으로.ruby-version 할 수 있습니다..ruby-gemsets프로젝트에 으로 local " " " " "이라는 의 파일입니다..gems디렉터리(프로젝트 루트)를 참조).따라서 프로젝트 간 격리가 달성됩니다.

여기 그 주제에 대한 오래되었지만 좋은 기사가 있습니다.

광산샤프트는 제가 얼마 전부터 진행하고 있는 프로젝트로 개발 작업을 계속하고 있습니다.

가상 환경이 작동하는 방식과 유사한 가상 환경을 생성할 수 있는 기능을 제공하며 Ruby를 글로벌하게 설치할 수도 있습니다.

언급URL : https://stackoverflow.com/questions/486995/ruby-equivalent-of-virtualenv

반응형