{"id":476138,"date":"2023-08-09T07:26:52","date_gmt":"2023-08-09T07:26:52","guid":{"rendered":""},"modified":"2023-09-05T11:12:07","modified_gmt":"2023-09-05T11:12:07","slug":"bundler","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/kr\/wiki\/bundler\/","title":{"rendered":"\ubc88\ub4e4\ub7ec"},"content":{"rendered":"<p>Bundler\ub294 Ruby \ud658\uacbd\uc5d0\uc11c \uc885\uc18d\uc131\uc744 \uad00\ub9ac\ud558\ub3c4\ub85d \uc124\uacc4\ub41c \uc798 \uc54c\ub824\uc9c4 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc720\ud2f8\ub9ac\ud2f0\uc785\ub2c8\ub2e4. \ud544\uc694\ud55c \uc815\ud655\ud55c gem\uacfc \ubc84\uc804\uc744 \ucd94\uc801\ud558\uace0 \uc124\uce58\ud558\uc5ec Ruby \ud504\ub85c\uc81d\ud2b8\uc5d0 \ub300\ud55c \uc77c\uad00\ub41c \uc124\uc815\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<h2>\ubc88\ub4e4\ub7ec\uc758 \ud0c4\uc0dd\uacfc \uccab \ubc88\uc9f8 \uc5b8\uae09<\/h2>\n<p>Bundler\ub294 Carl Lerche, Yehuda Katz \ubc0f Andr\u00e9 Arko\uac00 \uc8fc\ub3c4\ud55c \uacc4\ud68d\uc73c\ub85c 2010\ub144\uc5d0 \ucc98\uc74c \uc18c\uac1c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. Ruby \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c\uc5d0\uc11c \uc810\uc810 \ubcf5\uc7a1\ud574\uc9c0\ub294 \uc885\uc18d\uc131\uc744 \uad00\ub9ac\ud558\uae30 \uc704\ud55c \uc548\uc815\uc801\uc778 \ubc29\ubc95\uc774 \ud544\uc694\ud588\uae30 \ub54c\ubb38\uc5d0 \uac1c\ubc1c\uc774 \ucd94\uc9c4\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Ruby \uac1c\ubc1c\uc790\ub294 Bundler\uac00 \ub4f1\uc7a5\ud558\uae30 \uc804\uc5d0 \uc218\ub3d9\uc73c\ub85c \ub610\ub294 \uac1c\ubcc4 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ud1b5\ud574 \uc885\uc18d\uc131\uc744 \uad00\ub9ac\ud574 \uc654\uc2b5\ub2c8\ub2e4. \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ud504\ub85c\uc81d\ud2b8\uac00 \ub354\uc6b1 \ubcf5\uc7a1\ud574\uc9c0\uba74\uc11c \uc885\uc18d\uc131\uc744 \uad00\ub9ac\ud558\ub294 \uac83\uc774 \ub354\uc6b1 \uc5b4\ub824\uc6cc\uc84c\uc73c\uba70 \uc885\uc885 \uc545\uba85 \ub192\uc740 &quot;\uc885\uc18d\uc131 \uc9c0\uc625&quot;\uc73c\ub85c \uc774\uc5b4\uc84c\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c Bundler\ub294 \ud544\uc694\uc5d0 \ub530\ub77c \ud0c4\uc0dd\ud588\uc73c\uba70 RubyConf 2009\uc5d0\uc11c \ucc98\uc74c \uc5b8\uae09\ub418\uace0 \uc18c\uac1c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>Bundler \uc0b4\ud3b4\ubcf4\uae30: \uc2ec\uce35 \uc0b4\ud3b4\ubcf4\uae30<\/h2>\n<p>Bundler\ub294 Ruby \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ud2b9\ubcc4\ud788 \ub9de\ucdb0\uc9c4 \uc885\uc18d\uc131 \uad00\ub9ac \ub3c4\uad6c\uc785\ub2c8\ub2e4. \ud575\uc2ec \uae30\ub2a5\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc885\uc18d\uc131\uc744 \uad00\ub9ac\ud558\uc5ec \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc62c\ubc14\ub974\uac8c \uc2e4\ud589\ub418\ub294 \ub370 \ud544\uc694\ud55c \ubaa8\ub4e0 \uac83\uc744 \uac16\ucd94\uace0 \uc788\ub294\uc9c0 \ud655\uc778\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \ubc88\ub4e4\ub7ec\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ub8e8\ud2b8 \ub514\ub809\ud130\ub9ac\uc5d0 \uc788\uc5b4\uc57c \ud558\ub294 &#039;Gemfile&#039;\uc744 \uc77d\uc5b4 \uc774\ub97c \uc218\ud589\ud569\ub2c8\ub2e4.<\/p>\n<p>Gemfile\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc885\uc18d\uc131, \uc989 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud558\ub294 \ub370 \ud544\uc694\ud55c Ruby Gems(\ud328\ud0a4\uc9c0)\ub97c \ub098\uc5f4\ud558\ub294 \ud30c\uc77c\uc785\ub2c8\ub2e4. \uac01 \ubcf4\uc11d\uc5d0\ub294 \uc885\uc18d\uc131\uc774 \uc788\uc5b4 \ubcf5\uc7a1\uc131\uc774 \ub354\ud574\uc9c8 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. Bundler\ub294 Gemfile\uc744 \uad6c\ubb38 \ubd84\uc11d\ud558\uace0, \ubaa8\ub4e0 \uc885\uc18d\uc131\uc5d0 \uc801\ud569\ud55c \ubc84\uc804\uc744 \ucc3e\uace0, \ud574\ub2f9 \ubc84\uc804\uc774 \uc124\uce58\ub418\uc5b4 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc0ac\uc6a9 \uac00\ub2a5\ud55c\uc9c0 \ud655\uc778\ud558\ub294 \uc77c\uc744 \ub2f4\ub2f9\ud569\ub2c8\ub2e4.<\/p>\n<h2>Unpacking Bundler: \uc791\ub3d9 \ubc29\uc2dd<\/h2>\n<p>\uae30\ubcf8\uc801\uc73c\ub85c Bundler\ub294 \uba87 \uac00\uc9c0 \ud544\uc218 \uad6c\uc131 \uc694\uc18c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc791\ub3d9\ud569\ub2c8\ub2e4.<\/p>\n<ol>\n<li>\n<p><strong>Gemfile<\/strong>: \uc774\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc758\uc874\ud558\ub294 gem\uc758 \uc0ac\uc591\uc785\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud558\ub294 \ub370 \ud544\uc694\ud55c gem\uacfc \ud574\ub2f9 \ubc84\uc804\uc774 \ub098\uc5f4\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>Gemfile.lock<\/strong>: \uc774\uac83\uc740 \uadc0\ud558\uc758 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc124\uce58\ub41c \ubaa8\ub4e0 gem\uacfc \uc815\ud655\ud55c \ubc84\uc804\uc758 \uc2a4\ub0c5\uc0f7\uc785\ub2c8\ub2e4. Bundler\ub294 \ubaa8\ub4e0 \uc885\uc18d\uc131\uc744 \ud574\uacb0\ud558\uace0 \uc124\uce58\ud55c \ud6c4 \uc774 \ud30c\uc77c\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>RubyGems<\/strong>: Bundler\ub294 Ruby\uc6a9 \ud328\ud0a4\uc9c0 \uad00\ub9ac\uc790\uc778 RubyGems\uc640 \uae34\ubc00\ud558\uac8c \uc791\ub3d9\ud569\ub2c8\ub2e4. \ubc88\ub4e4\ub7ec\ub294 RubyGems\ub97c \uc0ac\uc6a9\ud558\uc5ec Gemfile\uc5d0 \uc9c0\uc815\ub41c gem\uc744 \ucc3e\uc544 \uc124\uce58\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<\/ol>\n<p>\ub2f9\uc2e0\uc774 \ub2ec\ub9b4 \ub54c <code data-no-translation=\"\">bundle install<\/code>, Bundler\ub294 \ud544\uc694\ud55c gem\uacfc \ud574\ub2f9 \uc885\uc18d\uc131\uc744 \uc2dd\ubcc4\ud558\uae30 \uc704\ud574 Gemfile\uc744 \uc0b4\ud3b4\ubd05\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c \ubaa8\ub4e0 \uc885\uc18d\uc131\uc744 \ucda9\uc871\ud558\ub294 \uc720\ud6a8\ud558\uace0 \ud638\ud658 \uac00\ub2a5\ud55c \ubcf4\uc11d \uc138\ud2b8\ub97c \ucc3e\uc2b5\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c \uc774 \uc138\ud2b8\ub294 \uc77c\uad00\uc131\uc744 \ubcf4\uc7a5\ud558\uae30 \uc704\ud574 Gemfile.lock\uc5d0\uc11c \uc7a0\uae41\ub2c8\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc2e4\ud589\ub418\uba74 Bundler\uc5d0\uc11c \uc9c0\uc815\ud55c \ud658\uacbd\uc774 \ub85c\ub4dc\ub429\ub2c8\ub2e4.<\/p>\n<h2>\ubc88\ub4e4\ub7ec\uc758 \uc8fc\uc694 \uae30\ub2a5<\/h2>\n<p>Bundler\ub294 Ruby \uac1c\ubc1c\uc5d0 \uaf2d \ud544\uc694\ud55c \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4:<\/p>\n<ol>\n<li>\n<p><strong>\uc77c\uad00\ub41c \ud658\uacbd<\/strong>: Bundler\ub294 \uac1c\ubc1c, \ud14c\uc2a4\ud2b8, \ud504\ub85c\ub355\uc158 \ud658\uacbd\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 gem\uc774 \ub3d9\uc77c\ud558\ub3c4\ub85d \ubcf4\uc7a5\ud558\uc5ec \uc77c\uad00\ub41c \ub3d9\uc791\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\ubcf4\uc11d \ubd84\ub9ac<\/strong>: Bundler\ub294 \uc124\uce58\ub41c gem\uc744 \uaca9\ub9ac\ud558\uc5ec \ub2e4\ub978 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \ub3d9\uc77c\ud55c gem\uc758 \ub2e4\ub978 \ubc84\uc804 \uac04\uc758 \ucda9\ub3cc\uc744 \uc644\ud654\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>gem \uc758\uc874\uc131 \uc790\ub3d9 \uad00\ub9ac<\/strong>: Bundler\ub294 gem \uc885\uc18d\uc131\uc744 \uc790\ub3d9\uc73c\ub85c \ud574\uacb0 \ubc0f \uad00\ub9ac\ud558\uc5ec \uc2dc\uac04\uc744 \uc808\uc57d\ud558\uace0 \uc7a0\uc7ac\uc801\uc778 \uc624\ub958\ub97c \ucd5c\uc18c\ud654\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\ub2e4\uc591\ud55c \ud50c\ub7ab\ud3fc \uc9c0\uc6d0<\/strong>: Bundler\ub294 \ub2e4\uc591\ud55c \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 Ruby \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ucc98\ub9ac\ud558\uc5ec \ud2b9\uc815 gem \ubc84\uc804 \uc694\uad6c \uc0ac\ud56d\uc744 \uc218\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>RubyGems\uc640 \ud1b5\ud569<\/strong>: Bundler\ub294 RubyGems\uc640 \uc6d0\ud65c\ud558\uac8c \uc791\ub3d9\ud558\uc5ec gem \ubc30\ud3ec\ub97c \ud6a8\uacfc\uc801\uc73c\ub85c \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<\/ol>\n<h2>\ubc88\ub4e4\ub7ec\uc758 \uc885\ub958<\/h2>\n<p>2021\ub144 9\uc6d4 \uc9c0\uc2dd\uc774 \uc911\ub2e8\ub41c \ud604\uc7ac, Ruby \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc885\uc18d\uc131\uc744 \uad00\ub9ac\ud558\uae30 \uc704\ud574 \ud2b9\ubcc4\ud788 \uc124\uacc4\ub41c \ubc88\ub4e4\ub7ec \ub3c4\uad6c\ub294 \ubcf8\uc9c8\uc801\uc73c\ub85c \ub2e8 \ud558\ub098\ubfd0\uc785\ub2c8\ub2e4. \uadf8\ub7ec\ub098 Bundler\uc758 \uae30\ub2a5\uc740 \uae30\ubcf8 \uc791\uc5c5\uc744 \uae30\uc900\uc73c\ub85c \ubd84\ub958\ub420 \uc218 \uc788\ub2e4\ub294 \uc810\uc740 \uc8fc\ubaa9\ud560 \uac00\uce58\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ol>\n<li>\n<p><strong>\uc885\uc18d\uc131 \ud574\uacb0<\/strong>: Gemfile\uc5d0 \uc9c0\uc815\ub41c gem\uc758 \uc885\uc18d\uc131\uc744 \uc2dd\ubcc4\ud558\uace0 \ud574\uacb0\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\ud658\uacbd \uc77c\uad00\uc131<\/strong>: \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ubaa8\ub4e0 \ud658\uacbd\uc5d0\uc11c \ub3d9\uc77c\ud55c gem \ubc84\uc804\uc744 \uc0ac\uc6a9\ud558\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\ubcf4\uc11d \ubd84\ub9ac<\/strong>: \uc11c\ub85c \ub2e4\ub978 gem \ubc84\uc804\uc744 \uaca9\ub9ac\ud558\uc5ec \ucda9\ub3cc\uc744 \ubc29\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<\/ol>\n<h2>Bundler \ud65c\uc6a9: \ubb38\uc81c\uc810\uacfc \ud574\uacb0\ucc45<\/h2>\n<p>Bundler\ub294 \uac15\ub825\ud55c \ub3c4\uad6c\uc774\uc9c0\ub9cc \uac1c\ubc1c\uc790\ub294 \ub54c\ub54c\ub85c \ubb38\uc81c\uc5d0 \uc9c1\uba74\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \uba87 \uac00\uc9c0 \uc77c\ubc18\uc801\uc778 \ubb38\uc81c\uc640 \ud574\uacb0 \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/p>\n<ol>\n<li>\n<p><strong>\uc885\uc18d\uc131 \ucda9\ub3cc<\/strong>: \ub54c\ub85c\ub294 \uc11c\ub85c \ub2e4\ub978 \ubcf4\uc11d\uc774 \ub3d9\uc77c\ud55c \ubcf4\uc11d\uc758 \ub2e4\ub978 \ubc84\uc804\uc5d0 \uc758\uc874\ud558\uc5ec \ucda9\ub3cc\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Bundler\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ubaa8\ub4e0 \uc694\uad6c \uc0ac\ud56d\uc744 \ucda9\uc871\ud558\ub294 \ubc84\uc804\uc744 \uc2dd\ubcc4\ud558\uc5ec \uc774\ub97c \ud574\uacb0\ud558\uc9c0\ub9cc \uacbd\uc6b0\uc5d0 \ub530\ub77c \uc218\ub3d9 \uac1c\uc785\uc774 \ud544\uc694\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\ud638\ud658\ub418\uc9c0 \uc54a\ub294 Ruby \ubc84\uc804<\/strong>: Bundler\ub294 Gemfile\uc758 Ruby \uc9c0\uc2dc\ubb38\uc744 \uc0ac\uc6a9\ud558\uc5ec Ruby \ubc84\uc804 \uc885\uc18d\uc131\uc744 \uad00\ub9ac\ud558\ub294 \ub370 \ub3c4\uc6c0\uc744 \uc904 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc798\ubabb\ub41c Ruby \ubc84\uc804\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 \uac1c\ubc1c\uc790\ub294 \uc62c\ubc14\ub978 \ubc84\uc804\uc744 \uc124\uce58\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\ub204\ub77d\ub41c \ubcf4\uc11d<\/strong>: \ud544\uc694\ud55c gem\uc774 Gemfile\uc5d0 \uc5c6\uc73c\uba74 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc624\ub958\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud544\uc694\ud55c \ubaa8\ub4e0 gem\uc774 Gemfile\uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294\uc9c0 \ud56d\uc0c1 \ud655\uc778\ud558\uc138\uc694.<\/p>\n<\/li>\n<\/ol>\n<h2>\ubc88\ub4e4\ub7ec \ube44\uad50<\/h2>\n<p>\ubc88\ub4e4\ub7ec\ub294 \ub2e4\uc591\ud55c \uc5b8\uc5b4\ub85c \ub41c \ub2e4\ub978 \ud328\ud0a4\uc9c0 \uad00\ub9ac\uc790\uc640 \ube44\uad50\ub418\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc73c\uba70 \uac01\uac01\uc758 \uc7a5\uc810\uacfc \ub2e8\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uac04\ub7b5\ud55c \ube44\uad50\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<table>\n<thead>\n<tr>\n<th><strong>\ud328\ud0a4\uc9c0 \uad00\ub9ac\uc790<\/strong><\/th>\n<th><strong>\uc5b8\uc5b4<\/strong><\/th>\n<th><strong>\uac15\uc810<\/strong><\/th>\n<th><strong>\ub2e8\uc810<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\ubc88\ub4e4\ub7ec<\/td>\n<td>\ub8e8\ube44<\/td>\n<td>\ud0c1\uc6d4\ud55c \uc885\uc18d\uc131 \ud574\uacb0, \ub2e4\uc591\ud55c \ud50c\ub7ab\ud3fc \uc9c0\uc6d0<\/td>\n<td>Ruby \ud658\uacbd\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td>npm<\/td>\n<td>Node.js<\/td>\n<td>\ub300\uaddc\ubaa8 \ud328\ud0a4\uc9c0 \ub808\uc9c0\uc2a4\ud2b8\ub9ac, \ud504\ub7f0\ud2b8\uc5d4\ub4dc \ubc0f \ubc31\uc5d4\ub4dc \uc885\uc18d\uc131 \ucc98\ub9ac<\/td>\n<td>\uc885\uc18d\uc131 \ucda9\ub3cc \uac00\ub2a5\uc131<\/td>\n<\/tr>\n<tr>\n<td>\uc528<\/td>\n<td>\ud30c\uc774\uc36c<\/td>\n<td>\uac04\ub2e8\ud558\uace0 \uc0ac\uc6a9\ud558\uae30 \uc26c\uc6b4 \ub300\ud615 \ud328\ud0a4\uc9c0 \ub808\uc9c0\uc2a4\ud2b8\ub9ac<\/td>\n<td>Bundler\ub9cc\ud07c \uac15\ub825\ud558\uc9c0 \uc54a\uc740 \uc885\uc18d\uc131 \ud574\uacb0<\/td>\n<\/tr>\n<tr>\n<td>\uba54\uc774\ube10<\/td>\n<td>\uc790\ubc14<\/td>\n<td>\ud504\ub85c\uc81d\ud2b8 \uc218\uba85\uc8fc\uae30 \ucc98\ub9ac, \uac15\ub825\ud55c \uc885\uc18d\uc131 \uad00\ub9ac<\/td>\n<td>\ubcf5\uc7a1\ud55c \uad6c\uc131<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\ubc88\ub4e4\ub7ec\uc758 \ubbf8\ub798 \uc804\ub9dd<\/h2>\n<p>Bundler\uc758 \ubbf8\ub798\ub294 Ruby \ubc0f \ud574\ub2f9 \uc0dd\ud0dc\uacc4\uc758 \ubc1c\uc804\uacfc \uc5bd\ud600 \uc788\uc2b5\ub2c8\ub2e4. \uc131\ub2a5, \uc0ac\uc6a9\uc790 \uacbd\ud5d8 \ubc0f \uc0c8\ub85c\uc6b4 Ruby \ubc84\uc804\uacfc\uc758 \ud638\ud658\uc131\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \ud5a5\uc0c1\ud558\uc5ec Ruby \ud658\uacbd\uc5d0\uc11c \uc885\uc18d\uc131\uc744 \uad00\ub9ac\ud558\ub294 \ub370 \ud544\uc218\uc801\uc778 \ub3c4\uad6c\uac00 \ub420 \uac83\uc785\ub2c8\ub2e4.<\/p>\n<p>JRuby \ubc0f TruffleRuby\uc640 \uac19\uc740 \ud50c\ub7ab\ud3fc\uc758 \ub4f1\uc7a5\uc73c\ub85c \uc778\ud574 Bundler\uac00 \ubcf4\ub2e4 \uc9c0\ub2a5\uc801\uc778 \uc885\uc18d\uc131 \ud574\uacb0 \uc54c\uace0\ub9ac\uc998\uacfc \ud50c\ub7ab\ud3fc\ubcc4 gem \ubc84\uc804 \ucc98\ub9ac\ub97c \ubcf4\ub2e4 \ud6a8\uacfc\uc801\uc73c\ub85c \ud1b5\ud569\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ud504\ub85d\uc2dc \uc11c\ubc84 \ubc0f \ubc88\ub4e4\ub7ec<\/h2>\n<p>\ud504\ub85d\uc2dc \uc11c\ubc84\uc758 \ub9e5\ub77d\uc5d0\uc11c, Ruby \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ud504\ub85d\uc2dc \uc11c\ubc84\uc640 \uc0c1\ud638\uc791\uc6a9\ud574\uc57c \ud558\ub294 \uc0c1\ud669\uc5d0\uc11c Bundler\ub97c \uc5f0\uacb0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uc77c\ubd80 gem\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ud504\ub85d\uc2dc \uc11c\ubc84\ub97c \ud1b5\ud574 \ud1b5\uc2e0\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\uba70, \uc774\ub294 Bundler\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc885\uc18d\uc131\uc73c\ub85c \uad00\ub9ac\ub429\ub2c8\ub2e4.<\/p>\n<p>\ub610\ud55c \ud504\ub85d\uc2dc \uc11c\ubc84\ub97c \uc0ac\uc6a9\ud558\uba74 Bundler\uc5d0\uc11c \uac00\uc838\uc628 gem \ud30c\uc77c\uc744 \uce90\uc2dc\ud558\uc5ec \ub3d9\uc77c\ud55c gem\uc758 \uc5ec\ub7ec \uc778\uc2a4\ud134\uc2a4\uac00 \ud544\uc694\ud55c \ub124\ud2b8\uc6cc\ud06c \ud658\uacbd\uc5d0\uc11c \ub300\uc5ed\ud3ed\uc744 \uc904\uc774\uace0 \uc124\uce58 \uc2dc\uac04\uc744 \uac1c\uc120\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\uad00\ub828\ub41c \ub9c1\ud06c\ub4e4<\/h2>\n<p>Bundler\uc5d0 \ub300\ud55c \ucd94\uac00 \uc815\ubcf4\ub97c \ubcf4\ub824\uba74 \ub2e4\uc74c \ub9ac\uc18c\uc2a4\ub97c \uace0\ub824\ud558\uc138\uc694.<\/p>\n<ol>\n<li><a href=\"https:\/\/bundler.io\/\" target=\"_new\" rel=\"noopener nofollow\">Bundler \uacf5\uc2dd \uc0ac\uc774\ud2b8<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/rubygems\/bundler\" target=\"_new\" rel=\"noopener nofollow\">Bundler\uc758 GitHub \uc800\uc7a5\uc18c<\/a><\/li>\n<li><a href=\"https:\/\/bundler.io\/docs.html\" target=\"_new\" rel=\"noopener nofollow\">\ubc88\ub4e4\ub7ec \ubb38\uc11c<\/a><\/li>\n<\/ol>","protected":false},"featured_media":467807,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-476138","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>Bundler: An Integral Tool for Managing Ruby Environment Dependencies<\/mark>","faq_items":[{"question":"What is Bundler and why is it used?","answer":"<p>Bundler is a software utility designed for managing dependencies in Ruby environments. It provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions required.<\/p>"},{"question":"When was Bundler first introduced and why was it developed?","answer":"<p>Bundler was first introduced in 2010 by Carl Lerche, Yehuda Katz, and Andr\u00e9 Arko. It was developed to provide a reliable way to manage the growing complexity of dependencies in Ruby software development, which was becoming challenging with manual methods or individual scripts.<\/p>"},{"question":"How does Bundler work in managing Ruby dependencies?","answer":"<p>Bundler manages Ruby dependencies by parsing a 'Gemfile' located in the application's root directory, which lists all the Ruby Gems the application requires. Bundler identifies suitable versions for all dependencies, ensures they're installed and available, and records this information in a 'Gemfile.lock' file for consistency.<\/p>"},{"question":"What are the key features of Bundler?","answer":"<p>Bundler's key features include providing consistent environments, isolating installed gems to avoid conflicts, automatic management of gem dependencies, support for multiple platforms, and seamless integration with RubyGems.<\/p>"},{"question":"Are there different types of Bundler?","answer":"<p>There is only one Bundler tool specifically designed for managing Ruby application dependencies. However, its functionality can be categorized based on its primary operations: Dependency Resolution, Environment Consistency, and Gem Isolation.<\/p>"},{"question":"What are some common problems with Bundler and how can they be solved?","answer":"<p>Common problems with Bundler include dependency conflicts, incompatible Ruby versions, and missing gems. These can be resolved by manual intervention, installing the correct Ruby version, and ensuring all needed gems are included in the Gemfile, respectively.<\/p>"},{"question":"How does Bundler compare with other package managers?","answer":"<p>Bundler is often compared to other package managers like npm for Node.js, pip for Python, and Maven for Java. While each has its strengths and drawbacks, Bundler excels in dependency resolution and support for multiple platforms but requires a Ruby environment.<\/p>"},{"question":"What are the future prospects of Bundler?","answer":"<p>The future of Bundler lies with the development of Ruby and its ecosystem. It will likely see enhancements in performance, user experience, and compatibility with new Ruby versions, with potential for more intelligent dependency resolution algorithms and better handling of platform-specific gem versions.<\/p>"},{"question":"How are proxy servers associated with Bundler?","answer":"<p>Proxy servers can be associated with Bundler in situations where a Ruby application needs to interact with a proxy server. For example, some gems enable applications to communicate via proxy servers and are managed as dependencies using Bundler. Furthermore, proxy servers can cache gem files fetched by Bundler to improve install times and reduce bandwidth.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/wiki\/476138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/wiki\/476138\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/media\/467807"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/media?parent=476138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}