์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ direnv-stdlib ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
direnv_stdlib - ".envrc" stdlib
๊ฐ์
๋ ๋ ํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๊ธฐ์
๋ผ๋ bash ์คํฌ๋ฆฝํธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ๊ทธ ์์๋ ๋ค์ ๋ช ๋ น์ด ํฌํจ๋์ด ์์ต๋๋ค.
์คํฌ๋ฆฝํธ๊ฐ ".envrc" ์ปจํ ์คํธ์ ๋ก๋๋ฉ๋๋ค. ๋ํ ๋ค์ ์์น์์๋ ํ์ผ์ ๋ก๋ํฉ๋๋ค.
"~/.direnvrc"์๋ ๊ฒฝ์ฐ.
STDLIB
ยท ์ด ๋ช ๋ น: ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ 0์ ๋ฐํํฉ๋๋ค. ๋ช ๋ น ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด 1์ ๋ฐํํฉ๋๋ค. ๊ทธ๊ฒ์ ํ ์ ์๋ค
PATH ๋๋ ์ ํจ์์ ๋ฐ์ด๋๋ฆฌ์ฌ์ผ ํฉ๋๋ค.
์:
์ปฌ์ด ์๋ค๋ฉด; ๊ทธ ๋ค์์
์์ฝ "์, ๊ทธ๋ ์ต๋๋ค"
fi
ยท ํ์ฅ_๊ฒฝ๋ก rel_path [์๋_์]: ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ถ๋ ฅํฉ๋๋ค. rel_path
์ ๋ํ ์๋_์ ๋๋ ํ์ฌ ๋๋ ํ ๋ฆฌ.
์:
cd / usr / local / games
ํ์ฅ ๊ฒฝ๋ก ../foo
# ์ถ๋ ฅ: /usr/local/foo
ยท ๋ ํ ํ [dotenv_path]: ".env" ํ์ผ์ ํ์ฌ ํ๊ฒฝ์ ๋ก๋ํฉ๋๋ค.
ยท user_rel_path ์ ๋ ๊ฒฝ๋ก: ์ ๋ ๊ฒฝ๋ก๋ฅผ ๋ณํํฉ๋๋ค. ์ ๋ ๊ฒฝ๋ก ์ฌ์ฉ์ ๊ด๋ จ ํญ๋ชฉ์ผ๋ก
๊ฐ๋ฅํ๋ค๋ฉด ๊ฒฝ๋ก.
์:
์์ฝ $ ํ
# ์ถ๋ ฅ: /ํ/์ฌ์ฉ์
user_rel_path /ํ/์ฌ์ฉ์/๋ด/ํ๋ก์ ํธ
# ์ถ๋ ฅ: ~/๋ด/ํ๋ก์ ํธ
user_rel_path / usr / local / lib
# ์ถ๋ ฅ: / usr / local / lib
ยท ์ฐพ๊ธฐ ํ์ผ ์ด๋ฆ: ๊ฒฝ๋ก๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ํ์ผ ์ด๋ฆ ํ์ฌ๋ถํฐ ๊ฒ์ํ๋ฉด
๋๋ ํ ๋ฆฌ๊น์ง /. ํ์ผ์ ์ฐพ์ ์ ์์ผ๋ฉด 1์ ๋ฐํํฉ๋๋ค.
์:
cd /usr/local/๋ด
mkdir -p ํ๋ก์ ํธ/foo
ํฐ์น ๋ฐ
CD ํ๋ก์ ํธ/foo
์ฐพ๊ธฐ ๋ฐ
# ์ถ๋ ฅ: /usr/local/my/bar
ยท ์์ค_ํ๊ฒฝ ํ์ผ์์_๊ฒฝ๋ก: ์๋ฉ ๋ค๋ฅธ ".envrc" ์ค by ์ง์ ๊ทธ๊ฒ์ ํต๋ก
or ํ์ผ ์ด๋ฆ.
ยท source_up [ํ์ผ ์ด๋ฆ]: ๋ค๋ฅธ ".envrc"๋ฅผ ๋ก๋ํฉ๋๋ค. ์ฐพ๊ธฐ ๋ช ๋ น.
ยท direnv_load [๋ช ๋ น ์์ฑ ๋คํ ์ถ๋ ฅ] ์์ฑ๋ ํ๊ฒฝ์ ์ ์ฉํฉ๋๋ค.
๋ฌ๋ฆฌ๋ ์ธ์ ๋ช ๋ น์ผ๋ก. ์ด๋ ์ด๋ฆฐ์ด์ ํ๊ฒฝ์ ์ฑํํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
process - ํด๋น ํ๋ก์ธ์ค๊ฐ "direnv dump"๋ฅผ ์คํํ๋๋ก ํ ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ๋ค์์ผ๋ก ๋ํํฉ๋๋ค.
direnv_load.
์:
direnv_load opam-env exec -- direnv ๋คํ
ยท PATH_์ถ๊ฐ ํต๋ก: ํ์ฅ๋ ๋ด์ฉ์ ์์ ์ถ๊ฐํฉ๋๋ค. ํต๋ก PATH ํ๊ฒฝ ๋ณ์์. ๊ทธ๊ฒ
PATH๊ฐ ์๋ก์ด ๊ฒฝ๋ก๋ก๋ง ๋์ฒด๋๋ ์ผ๋ฐ์ ์ธ ์ค์๋ฅผ ๋ฐฉ์งํฉ๋๋ค. ํต๋ก.
์:
pwd
# ์ถ๋ ฅ: /home/user/my/project
PATH_bin ์ถ๊ฐ
์์ฝ $PATH
# ์ถ๋ ฅ: /home/user/my/project/bin:/ usr / bin:/ํฐ ์์
ยท ๊ฒฝ๋ก_์ถ๊ฐ ์ด๋ฆ ํต๋ก: ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค PATH_์ถ๊ฐ ๋ค๋ง ์์์ ์ธ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋
์ด๋ฆ.
ยท ๋ก๋_์ ๋์ฌ ์ ๋์ฌ_๊ฒฝ๋ก: ์ฃผ์ด์ง์ ๋ํ ์ผ๋ถ ๊ณตํต ๊ฒฝ๋ก ๋ณ์๋ฅผ ํ์ฅํฉ๋๋ค.
์ ๋์ฌ_๊ฒฝ๋ก ์ ๋์ฌ. ์ด๋ ๋ค์ ์์น์ ๋ฌด์ธ๊ฐ๋ฅผ ์ค์นํ ๊ฒฝ์ฐ ์ ์ฉํฉ๋๋ค. ์ ๋์ฌ_๊ฒฝ๋ก
์ฌ์ฉ ./configure๋ฅผ --prefix=$prefix_path && ํ์ธ ์ค์น ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋ค์์์ ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค.
ํ๋ก์ ํธ.
๋ณ์ ์ธํธ:
cpath
LD_LIBRARY_PATH
๋ผ์ด๋ธ๋ฌ๋ฆฌ_๊ฒฝ๋ก
๋งจํจ์ค
PATH
PKG_CONFIG_PATH
์:
./configure --prefix=$HOME/rubies/ruby-1.9.3
&& ์ค์น
# ๊ทธ๋ฐ ๋ค์ .envrc์์
๋ก๋_์ ๋์ฌ ~/๋ฃจ๋น/๋ฃจ๋น-1.9.3
ยท ๋ ์ด์์ ์ ํ: ์ผ๋ฐ์ ์ธ ํ๋ก์ ํธ ๋ ์ด์์์ ์ค๋ช ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์๋ฏธ๋ก ์ ๋์คํจ์น์ ๋๋ค.
ยท ๋ ์ด์์ go: GOPATH ํ๊ฒฝ ๋ณ์๋ฅผ ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ก ์ค์ ํฉ๋๋ค.
ยท ๋ ์ด์์ ๋ ธ๋: PATH ํ๊ฒฝ ๋ณ์์ "$PWD/node_modules/.bin"์ ์ถ๊ฐํฉ๋๋ค.
ยท ๋ ์ด์์ ํ: Perl์ local::lib์ ํ์ํ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค.
โจhttp://search.cpan.org/dist/local-lib/lib/local/lib.pmโฉ ์์ธ ์ฌํญ์
ยท ๋ ์ด์์ ํ์ด์ฌ [python_exe]: ์๋์ virtualenv ํ๊ฒฝ์ ์์ฑํ๊ณ ๋ก๋ํฉ๋๋ค.
$PWD/.direnv/python-$python_version. ์ด๋ ๊ฒ ํ๋ฉด ๊ณ๋์ ๊ฐ์ ๋ก ์ค์นํ๊ฒ ๋ฉ๋๋ค.
ํ๋ก์ ํธ์ ํ์ ํด๋.
๋ค๋ฅธ ๊ฒ์ ์ฌ์ฉํ๋ ค๋ฉด Python ์คํ ํ์ผ์ ์ง์ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค.
Python ๋ฒ์ (์: ๋ ์ด์์ ํ์ด์ฌ python3).
์ด์ ์ virtualenv๋ ๋ค์ ์์น์ ์์์ต๋๋ค. $PWD/.direnv/virtualenv ๋ฐ ์์ง
์กด์ฌํ๋ ๊ฒฝ์ฐ direnv์์ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.
ยท ๋ ์ด์์ python3: ๋ฐ๋ก๊ฐ๊ธฐ ๋ ์ด์์ ํ์ด์ฌ python3
ยท ๋ ์ด์์ ๋ฃจ๋น: ๋ณด์์ ์ค์ ํฉ๋๋คํ ํ๊ฒฝ ๋ณ์ ์
`$PWD/.direnv/ruby/RUBY๋ฒ์ . ์ด ์ธ๋ ฅ ์ ์, ์ค์น of ์ด๋ค ๋ณด์ ์ผ๋ก ์ ์,
ํ๋ก์ ํธ ํ์ ํด๋. If ๋๊ฐ์์ด. ์ฌ์ฉ ๋ฒ ๋ค๋ฌ it ์์ง ๋ง๋ค ์ธ๊ฐ ํ๋ก๊ทธ๋จ
๊ทธ be ํธ์ถ ์ง์ ๋ฅผ ๋ฐ์์ผ ํ๋ ๋ฏธ๊ตญ ์ฌํ์ of ์ฌ์ฉ ์ ์,๋ฒ๋ค exec` ์ ๋์ฌ.
ยท ์ฌ์ฉ ํ๋ก๊ทธ๋จ _ ์ด๋ฆ [๋ฒ์ ]: ๋ก๋๋ฅผ ์ํ ์๋ฏธ๋ก ์ ๋ช ๋ น ๋์คํจ์น
ํ๊ฒฝ์ ๋ํ ์ธ๋ถ ์ข ์์ฑ.
์:
use_ruby() {
์์ฝ "๋ฃจ๋น $1"
}
๋ฃจ๋น 1.9.3์ ์ฌ์ฉํ์ธ์
# ์ถ๋ ฅ: ๋ฃจ๋น 1.9.3
ยท ์ฌ์ฉ rbenv: PATH์์ ์ฌ์ฉ ๊ฐ๋ฅํ Ruby ๋ํผ๋ฅผ ์ถ๊ฐํ๋ rbenv๋ฅผ ๋ก๋ํฉ๋๋ค.
ยท ์ฌ์ฉ ๊ฑฐ์ ํ๋ค [...]: ๋ค์์์ ํ๊ฒฝ ๋ณ์๋ฅผ ๋ก๋ํฉ๋๋ค. nix ์.
๋น์ ์ด ์๋ค๋ฉด default.nix or ์.๋์ค ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋์ง๋ง ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
๋ํ ํจํค์ง๋ฅผ ์ง์ ์ง์ ํฉ๋๋ค(์: ์ฌ์ฉ ๊ฑฐ์ ํ๋ค -p ์ค์บ).
๋ณด๋ค โจhttp://nixos.org/nix/manual/#sec-nix-์โฉ
ยท rvm ...: rvm์ด ์ค์น๋ ๊ฒฝ์ฐ ์ ธ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ํด์ผ ํฉ๋๋ค.
์ ์๊ถ
์ ์๊ถ (C) 2014 zimbatm โจhttp://zimbatm.comโฉ ๋ฐ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ฅธ ๊ธฐ์ฌ์.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์ผ๋ก direnv-stdlib ์ฌ์ฉ