<\/p>\n
- \n
- \n
- \n
- \u5173\u4e8e Ruby<\/a><\/li>\n
- rbenv<\/a>\n
- \n
- rbenv\u662f\u7c7bUnix\u7cfb\u7edf\u4e0aRuby\u7f16\u7a0b\u8bed\u8a00\u7684\u7248\u672c\u7ba1\u7406\u5de5\u5177<\/a><\/li>\n
- \u4f7f\u7528\u7a0b\u5e8f\u5305\u7ba1\u7406\u5668<\/a><\/li>\n
- \u5b89\u88c5ruby<\/a><\/li>\n
- \u5b89\u88c5gems<\/a><\/li>\n
- \u5378\u8f7dRuby\u7248\u672c<\/a><\/li>\n
- \u8bbe\u7f6epath<\/a><\/li>\n
- \u5b89\u88c5rails<\/a><\/li>\n <\/ul><\/li>\n <\/ul><\/li>\n
- \u96c6\u6210\u5b57\u7b26\u4e32<\/a><\/li>\n
- \u6ce8\u91ca\u4e0e\u53d8\u91cf\u5185\u63d2<\/a><\/li>\n
- \u5b57\u5178HASH<\/a><\/li>\n
- \u6570\u7ec4<\/a><\/li>\n
- times\u8fed\u4ee3<\/a><\/li>\n <\/ul>\n <\/div>\n
<\/p> \n
\u5173\u4e8e Ruby<\/h2> \n
\u60f3\u77e5\u9053 Ruby \u4e3a\u4ec0\u4e48\u4f1a\u5982\u6b64\u53d7\u6b22\u8fce\u5417\uff1f\u5728\u7c89\u4e1d\u773c\u4e2d\uff0cRuby \u662f\u4e00\u95e8\u4f18\u7f8e\u800c\u5de7\u5999\u7684\u8bed\u8a00\uff0c\u4ed6\u4eec\u8fd8\u8ba4\u4e3a Ruby \u6613\u4e8e\u4f7f\u7528\uff0c\u80fd\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002\u60f3\u77e5\u9053\u53d7\u5230\u8fd9\u4e9b\u8d5e\u8a89\u7684\u539f\u56e0\u5417\uff1f
Ruby \u53d1\u660e\u8005\u7684\u7406\u60f3<\/p> \nRuby \u662f\u4e00\u4e2a\u6ce8\u91cd\u5747\u8861\u7684\u8bed\u8a00\uff0c\u5b83\u7684\u53d1\u660e\u8005\u677e\u672c\u884c\u5f18\uff08Yukihiro \u201cMatz\u201d Matsumoto\uff09\uff0c\u6df7\u5408\u4e86\u4ed6\u559c\u6b22\u7684\u591a\u95e8\u8bed\u8a00\uff08Perl\u3001Smalltalk\u3001Eiffel\u3001Ada \u548c Lisp\uff09\uff0c\u521b\u9020\u51fa\u4e86\u4e00\u79cd\u517c\u5177\u51fd\u6570\u5f0f\u7f16\u7a0b\u548c\u547d\u4ee4\u5f0f\u7f16\u7a0b\u7279\u8272\u7684\u65b0\u8bed\u8a00\u3002<\/p> \n
\u4ed6\u5e38\u8bf4\uff0c\u4ed6\u662f\u201c\u8bd5\u7740\u8ba9 Ruby \u66f4\u81ea\u7136\uff0c\u800c\u4e0d\u662f\u66f4\u7b80\u5355\u201d\uff0c\u8ba9\u4e00\u5207\u7b26\u5408\u751f\u6d3b\u5e38\u89c4\u3002<\/p> \n
\u9664\u6b64\u4e4b\u5916\uff0c\u4ed6\u8fd8\u63d0\u5230\uff1a<\/p> \n
\n
Ruby \u5c31\u50cf\u4eba\u7684\u8eab\u4f53\u4e00\u6837\uff0c\u8868\u9762\u4e0a\u770b\u6765\u7b80\u5355\uff0c\u4f46\u662f\u5185\u90e8\u5374\u76f8\u5f53\u590d\u6742\u3002<\/p> \n <\/blockquote> \n
Ruby \u8fd8\u6709\u4f17\u591a\u7279\u6027\uff0c\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\uff1a<\/p> \n
- \n
-
Ruby \u7684\u5f02\u5e38\u5904\u7406\u7279\u6027\u4e0e Java \u548c Python \u7c7b\u4f3c\uff0c\u6613\u4e8e\u5904\u7406\u9519\u8bef\u3002<\/p> <\/li> \n
-
Ruby \u62e5\u6709\u4e00\u4e2a\u9488\u5bf9\u6240\u6709\u5bf9\u8c61\u7684\u6807\u8bc6-\u6e05\u626b\uff08mark-and-sweep\uff09\u5f0f\u5783\u573e\u56de\u6536\u7a0b\u5e8f\uff09\u3002\u4f7f\u7528\u8005\u65e0\u9700\u7ef4\u62a4\u6269\u5c55\u5e93\u4e2d\u7684\u5f15\u7528\u8ba1\u6570\u3002\u6b63\u5982
Matz \u6240\u8bf4\uff1a\u201c\u8fd9\u5bf9\u60a8\u7684\u5065\u5eb7\u6709\u76ca\u3002\u201d<\/p> <\/li> \n -
\u4e3a Ruby \u5199 C \u6269\u5c55\u6bd4 Perl \u548c Python \u5bb9\u6613\uff0c\u56e0\u4e3a Ruby \u6709\u4e00\u4e2a\u975e\u5e38\u96c5\u81f4\u7684 API\uff0c\u80fd\u4ece C \u8bed\u8a00\u4e2d\u8c03\u7528
Ruby\u3002\u4f8b\u5982\uff0c\u8c03\u7528\u8f6f\u4ef6\u4e2d\u5185\u5d4c\u7684 Ruby\uff0c\u5f53\u505a\u811a\u672c\u8bed\u8a00\u4f7f\u7528\u3002\u6b64\u5916\uff0c\u8fd8\u6709 SWIG \u63a5\u53e3\u53ef\u7528\u3002<\/p> <\/li> \n -
\u5982\u679c\u64cd\u4f5c\u7cfb\u7edf\u5141\u8bb8\uff0cRuby \u53ef\u4ee5\u52a8\u6001\u52a0\u8f7d\u6269\u5c55\u5e93\u3002<\/p> <\/li> \n
-
Ruby \u63d0\u4f9b\u4e0d\u4f9d\u8d56\u64cd\u4f5c\u7cfb\u7edf\u7684\u7ebf\u7a0b\u3002\u6240\u4ee5\uff0c\u4e0d\u7ba1\u64cd\u4f5c\u7cfb\u7edf\u662f\u5426\u652f\u6301\uff0cRuby \u652f\u6301\u7684\u6240\u6709\u64cd\u4f5c\u7cfb\u7edf\u90fd\u53ef\u4ee5\u4f7f\u7528\u591a\u7ebf\u7a0b\uff0c\u751a\u81f3\u662f MS-DOS!<\/p> <\/li> \n
-
Ruby \u9ad8\u5ea6\u53ef\u79fb\u690d\uff1a\u5b83\u4e3b\u8981\u5728 GNU\/Linux \u4e0a\u5f00\u53d1\uff0c\u4f46\u4e5f\u652f\u6301\u5f88\u591a\u7c7b\u578b\u7684 UNIX\uff0c\u4ee5\u53ca
macOS\uff0cWindows\uff0cDOS\uff0cBeOS\uff0cOS\/2 \u7b49\u3002<\/p> <\/li> \n <\/ul> \nrbenv<\/h2> \n
rbenv\u662f\u7c7bUnix\u7cfb\u7edf\u4e0aRuby\u7f16\u7a0b\u8bed\u8a00\u7684\u7248\u672c\u7ba1\u7406\u5de5\u5177<\/h3> \n
\u8fd9\u5bf9\u4e8e\u5728\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u7684\u591a\u4e2aRuby\u7248\u672c\u4e4b\u95f4\u5207\u6362\u4ee5\u53ca\u786e\u4fdd\u60a8\u6b63\u5728\u5904\u7406\u7684\u6bcf\u4e2a\u9879\u76ee\u59cb\u7ec8\u5728\u6b63\u786e\u7684Ruby\u7248\u672c\u4e0a\u8fd0\u884c\u975e\u5e38\u6709\u7528\u3002<\/p> \n
\u5728\u5b89\u88c5\u65f6rbenv\u5c06\u81ea\u5df1\u6ce8\u5165PATH\u540e\uff0c\u4efb\u4f55\u5bf9ruby\u3001gem\u3001bundler\u6216\u5176\u4ed6\u4e0eruby\u76f8\u5173\u7684\u53ef\u6267\u884c\u6587\u4ef6\u7684\u8c03\u7528\u90fd\u5c06\u9996\u5148\u6fc0\u6d3brbenv\u3002\u7136\u540e\uff0crbenv\u626b\u63cf\u5f53\u524d\u9879\u76ee\u76ee\u5f55\u4ee5\u67e5\u627e\u540d\u4e3a.rub-version\u7684\u6587\u4ef6\u3002\u5982\u679c\u627e\u5230\uff0c\u8be5\u6587\u4ef6\u5c06\u786e\u5b9a\u8be5\u76ee\u5f55\u4e2d\u5e94\u4f7f\u7528\u7684ruby\u7248\u672c\u3002\u6700\u540e\uff0crbenv\u5728~\/.rbenv\/versions\/\u4e0b\u5b89\u88c5\u7684Ruby\u7248\u672c\u4e2d\u67e5\u627e\u8be5Ruby\u7248\u672c\u3002<\/p> \n
\u60a8\u53ef\u4ee5\u4e3a\u60a8\u7684\u9879\u76ee\u9009\u62e9Ruby\u7248\u672c\uff0c\u4f8b\u5982\uff1a<\/p> \n
cd myproject\n# choose Ruby version 3.1.2:\nrbenv local 3.1.2\n<\/code><\/pre> \n
\u8fd9\u6837\u505a\u5c06\u4f7f\u7528\u60a8\u9009\u62e9\u7684\u7248\u672c\u5728\u5f53\u524d\u76ee\u5f55\u4e2d\u521b\u5efa\u6216\u66f4\u65b0.ruby\u7248\u672c\u6587\u4ef6\u3002\u60a8\u7684\u53e6\u4e00\u4e2a\u9879\u76ee\uff0c\u5373\u53e6\u4e00\u4e2a\u76ee\u5f55\uff0c\u53ef\u80fd\u5b8c\u5168\u4f7f\u7528\u4e0d\u540c\u7248\u672c\u7684Ruby\u3002\u5f53\u60a8\u5207\u6362\u9879\u76ee\u65f6\uff0crbenv\u5c06\u65e0\u7f1d\u5730\u4ece\u4e00\u4e2aRuby\u7248\u672c\u8f6c\u6362\u5230\u53e6\u4e00\u4e2a\u7248\u672c\u3002<\/p> \n
\u6700\u540e\uff0crbenv\u673a\u5236\u7684\u51e0\u4e4e\u6bcf\u4e2a\u65b9\u9762\u90fd\u53ef\u4ee5\u901a\u8fc7bash\u7f16\u5199\u7684\u63d2\u4ef6\u8fdb\u884c\u81ea\u5b9a\u4e49\u3002<\/p> \n
\u5728\u5e26\u6709Homebrew\u5305\u7ba1\u7406\u5668\u7684\u7cfb\u7edf\u4e0a\uff0c\u5efa\u8bae\u4f7f\u7528\u201c\u4f7f\u7528\u5305\u7ba1\u7406\u5668\u201d\u65b9\u6cd5\u3002\u5728\u5176\u4ed6\u7cfb\u7edf\u4e0a\uff0c\u201cBasic Git Checkout\u201d\u53ef\u80fd\u662f\u786e\u4fdd\u59cb\u7ec8\u5b89\u88c5\u6700\u65b0\u7248\u672c\u7684rbenv\u7684\u6700\u7b80\u5355\u65b9\u6cd5\u3002<\/p> \n
\u4f7f\u7528\u7a0b\u5e8f\u5305\u7ba1\u7406\u5668<\/h3> \n
\u4f7f\u7528\u4ee5\u4e0b\u65b9\u6cd5\u4e4b\u4e00\u5b89\u88c5r
\u5b89\u88c5rubybenv\u3002<\/p> \n- \n
- \u5728macOS\u6216Linux\u4e0a\uff0c\u6211\u4eec\u5efa\u8bae\u4f7f\u7528Homebrew\u5b89\u88c5rbenv\u3002<\/li> \n <\/ul> \n
brew install rbenv ruby-build\n<\/code><\/pre> \n
- \n
- Debian\u3001Ubuntu\u53ca\u5176\u884d\u751f\u4ea7\u54c1
\u5728Debian\u548cUbuntu\u5b58\u50a8\u5e93\u4e2d\u6253\u5305\u548c\u7ef4\u62a4\u7684rbenv\u7248\u672c\u5df2\u7ecf\u8fc7\u65f6\u3002\u8981\u5b89\u88c5\u6700\u65b0\u7248\u672c\uff0c\u5efa\u8bae\u4f7f\u7528git\u5b89\u88c5rbenv\u3002
https:\/\/github.com\/rbenv\/rbenv<\/a><\/li> \n <\/ul> \nsudo apt install rbenv\n<\/code><\/pre> \n
- \n
- Arch Linux\u53ca\u5176\u884d\u751f\u4ea7\u54c1<\/li> \n <\/ul> \n
Archlinux\u6709\u4e00\u4e2a\u7528\u4e8erbenv\u7684AUR\u5305\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u6b64wiki\u9875\u9762\u4e2d\u7684\u8bf4\u660e\u4ecehttps:\/\/wiki.archlinux.org\/index.php\/Arch_User_Repository#Installing_and_upgrading_packages<\/a>\u5b89\u88c5\u5b83\u3002<\/p> \n
\u5728shell\u4e2d\u52a0\u8f7drbenv<\/p> \n
rbenv init\n<\/code><\/pre> \n
\u5173\u95ed\u201c\u7ec8\u7aef\u201d\u7a97\u53e3\u5e76\u6253\u5f00\u4e00\u4e2a\u65b0\u7a97\u53e3\uff0c\u4ee5\u4fbf\u60a8\u7684\u66f4\u6539\u751f\u6548q!<\/p> \n
\u5c31\u662f\u8fd9\u6837\uff01\u73b0\u5728\u5df2\u7ecf\u51c6\u5907\u597d\u5b89\u88c5Ruby\u7248\u672c\u4e86\u3002<\/p> \n
\u5b89\u88c5ruby<\/h3> \n
\u5728\u5c1d\u8bd5\u5b89\u88c5Ruby\u4e4b\u524d\uff0c\u68c0\u67e5\u6784\u5efa\u73af\u5883\u662f\u5426\u5177\u6709\u5fc5\u8981\u7684\u5de5\u5177\u548c\u5e93\u3002\u7136\u540e\uff1a<\/p> \n
# list latest stable versions:\nrbenv install -l\n\n# list all local versions:\nrbenv install -L\n\n# install a Ruby version:\nrbenv install 3.2.2\n<\/code><\/pre> \n
\u4ece\u5b98\u65b9\u4e0b\u8f7d\u8fdb\u884c\u7f16\u8bd1\uff0c\u975e\u5e38\u6162
https:\/\/cache.ruby-china.com\/pub\/ruby\/<\/a>\u627e\u5230\u5bf9\u5e94\u7248\u672c\u4e0b\u8f7d\u5230~\/.rbenv\/cache<\/code><\/p> \n
\u5982\u679c\u627e\u4e0d\u5230rbenv-install\u547d\u4ee4\uff0c\u60a8\u53ef\u4ee5\u5c06ruby build\u4f5c\u4e3a\u63d2\u4ef6\u5b89\u88c5\uff1a<\/p> \n
git clone https:\/\/github.com\/rbenv\/ruby-build.git "$(rbenv root)"\/plugins\/ruby-build\n<\/code><\/pre> \n
\u8bbe\u7f6e\u4e00\u4e2aRuby\u7248\u672c\u4ee5\u5b8c\u6210\u5b89\u88c5\u5e76\u5f00\u59cb\u4f7f\u7528Ruby\uff1a<\/p> \n
rbenv global 3.2.2 # set the default Ruby version for this machine\n# or:\nrbenv local 3.2.2 # set the Ruby version for this directory\n<\/code><\/pre> \n
rbenv global 3.2.2<\/code> \u901a\u8fc7\u5c06\u7248\u672c\u540d\u79f0\u5199\u5165~\/.rbenv\/version\u6587\u4ef6\uff0c\u8bbe\u7f6e\u8981\u5728\u6240\u6709shell\u4e2d\u4f7f\u7528\u7684Ruby\u7684\u5168\u5c40\u7248\u672c\u3002\u6b64\u7248\u672c\u53ef\u4ee5\u7531\u7279\u5b9a\u4e8e\u5e94\u7528\u7a0b\u5e8f\u7684.ruby\u7248\u672c\u6587\u4ef6\u8986\u76d6\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6eRBENV_version\u73af\u5883\u53d8\u91cf\u6765\u8986\u76d6\u3002<\/p> \n
\u7279\u6b8a\u7248\u672c\u540d\u7cfb\u7edf\u544a\u8bc9rbenv\u4f7f\u7528\u7cfb\u7edfRuby\uff08\u901a\u8fc7\u641c\u7d22$PATH\u68c0\u6d4b\u5230\uff09\u3002<\/p> \n
\u5f53\u5728\u6ca1\u6709\u7248\u672c\u53f7\u7684\u60c5\u51b5\u4e0b\u8fd0\u884c\u65f6\uff0crbenv\u5168\u5c40\u62a5\u544a\u5f53\u524d\u914d\u7f6e\u7684\u5168\u5c40\u7248\u672c\u3002<\/p> \n
\n
\u9664\u4e86rbenv-install\u547d\u4ee4\uff0c\u8fd8\u53ef\u4ee5\u624b\u52a8\u4e0b\u8f7d\u5e76\u7f16\u8bd1Ruby\u4f5c\u4e3a~\/.rbenv\/versions\u7684\u5b50\u76ee\u5f55\u3002\u8be5
\u76ee\u5f55\u4e2d\u7684\u6761\u76ee\u4e5f\u53ef\u4ee5\u662f\u5b89\u88c5\u5728\u6587\u4ef6\u7cfb\u7edf\u5176\u4ed6\u4f4d\u7f6e\u7684Ruby\u7248\u672c\u7684\u7b26\u53f7\u94fe\u63a5\u3002<\/p> \n <\/blockquote> \n\u5b89\u88c5gems<\/h3> \n
\u6309\u7167\u6b63\u5e38\u65b9\u5f0f\u7ee7\u7eed\u5b89\u88c5gems\uff1a<\/p> \n
cd ~\/.rbenv\/versions\/3.2.2\/bin\n.\/gem install bundler\n.\/gem update\n<\/code><\/pre> \n
\u4f7f\u7528gem env\u5b89\u88c5gem\u7684\u4f4d\u7f6e\uff1a<\/p> \n
.\/gem env home\n# => ~\/.rbenv\/versions\/<version>\/lib\/ruby\/gems\/...\n<\/code><\/pre> \n
\u6267\u884crehash\u3002<\/p> \n
rbenv rehash\n<\/code><\/pre> \n
\u663e\u793arbenv\u5728\u8fd0\u884c\u7ed9\u5b9a\u547d\u4ee4\u65f6\u5c06\u8c03\u7528\u7684\u53ef\u6267\u884c\u6587\u4ef6\u7684\u5b8c\u6574\u8def\u5f84\u3002<\/p> \n
$ rbenv which irb\n<\/code><\/pre> \n
\u5378\u8f7dRuby\u7248\u672c<\/h3> \n
\u968f\u7740\u65f6\u95f4\u7684\u63a8\u79fb\uff0c\u5b89\u88c5\u7684Ruby\u7248\u672c\u5c06\u7d2f\u79ef\u5728
~\/.rbenv\/versions<\/code>\u76ee\u5f55\u4e2d\u3002<\/p> \n
\u8981\u5220\u9664\u65e7\u7684Ruby\u7248\u672c\uff0c\u53ea\u9700rm-rf\u8981\u5220\u9664\u7684\u7248\u672c\u7684\u76ee\u5f55\u3002\u60a8","orderid":"0","title":"ruby web \u5b9e\u6218(3\uff09-Ruby\u57fa\u7840\uff081\uff09(\u4e00)","smalltitle":"","mid":"0","fname":"Ruby","special_id":"0","bak_id":"0","info":"0","hits":"379","pages":"2","comments":"0","posttime":"2023-07-23 13:24:47","list":"1690089887","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"ruby<\/A> web<\/A> \u5b9e\u6218<\/A> -Ruby<\/A> \u57fa\u7840<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"119.59.235.169","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"ruby web \u5b9e\u6218(3\uff09-Ruby\u57fa\u7840\uff081\uff09","lastview":"1716082033","digg_num":"0","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}
- Arch Linux\u53ca\u5176\u884d\u751f\u4ea7\u54c1<\/li> \n <\/ul> \n
- Debian\u3001Ubuntu\u53ca\u5176\u884d\u751f\u4ea7\u54c1
- \u5728macOS\u6216Linux\u4e0a\uff0c\u6211\u4eec\u5efa\u8bae\u4f7f\u7528Homebrew\u5b89\u88c5rbenv\u3002<\/li> \n <\/ul> \n
- \u4f7f\u7528\u7a0b\u5e8f\u5305\u7ba1\u7406\u5668<\/a><\/li>\n
- rbenv<\/a>\n
- \u5173\u4e8e Ruby<\/a><\/li>\n