{"id":5758,"date":"2022-07-22T11:09:42","date_gmt":"2022-07-22T03:09:42","guid":{"rendered":"https:\/\/1989lifejourney.com\/?p=5758"},"modified":"2022-07-22T11:09:42","modified_gmt":"2022-07-22T03:09:42","slug":"%e9%97%9c%e6%96%bc%e5%a5%97%e4%bb%b6%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7package-manager","status":"publish","type":"post","link":"https:\/\/1989lifejourney.com\/?p=5758","title":{"rendered":"\u95dc\u65bc\u5957\u4ef6\u7ba1\u7406\u5de5\u5177(Package manager):"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>\u95dc\u65bc\u5957\u4ef6\u7ba1\u7406\u5de5\u5177(Package manager):<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>About RubyGems:<br><\/strong>RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries.<br><strong>Ref:<\/strong> <a href=\"https:\/\/en.wikipedia.org\/wiki\/RubyGems\">https:\/\/en.wikipedia.org\/wiki\/RubyGems<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>About Homebrew:<br><\/strong>Homebrew is a free and open-source software package management system that simplifies the installation of software on Apple&#8217;s operating system, macOS, as well as Linux.<br><strong>Note:<\/strong> Homebrew also can build\/install\/manage different software packages including gems.<br><strong>Ref:<\/strong> <a href=\"https:\/\/en.wikipedia.org\/wiki\/Homebrew_(package_manager)\">https:\/\/en.wikipedia.org\/wiki\/Homebrew_(package_manager)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>About Ruby Version Manager(RVM):<br><\/strong>RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.<br><strong>Ref:<\/strong> <a href=\"https:\/\/rvm.io\/\">https:\/\/rvm.io\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What is the difference between ruby gems and brew formulas?<br><\/strong>RubyGems and Homebrew are both package managers. RubyGems was created for the express purpose of installing gems whereas Homebrew is a more general tool which can build, install and manage different software packages including gems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Homebrew is tied to Mac OS X, whereas RubyGems works on multiple platforms.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Best advice? Do whatever the book\/tutorial you&#8217;re following tells you to do and let your preferences develop over time until you have enough experience to know what you want. All this having been said, it seems as though you&#8217;re going to be working in Rails, so you&#8217;re going to be using bundler, rather than RubyGems or Homebrew.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ref:<\/strong> <a href=\"https:\/\/stackoverflow.com\/questions\/32031822\/what-is-the-difference-between-ruby-gems-and-brew-formulas#:~:text=RubyGems%20and%20Homebrew%20are%20both,RubyGems%20works%20on%20multiple%20platforms.\">stackOverflowDiscussion<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u95dc\u65bc\u5957\u4ef6\u7ba1\u7406\u5de5\u5177(Package manager): About RubyGems:RubyGems is a [&hellip;]<\/p>\n","protected":false},"author":139426785,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_postgate_lock_override":"inherit","_postgate_lock_mode":"inherit","_postgate_preview_mode":"inherit","_postgate_preview_limit":0,"_postgate_product_ids":[],"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[55138170,1],"tags":[],"post_folder":[],"class_list":["post-5758","post","type-post","status-publish","format-standard","hentry","category-technology-sharing","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paR5vw-1uS","jetpack-related-posts":[{"id":7606,"url":"https:\/\/1989lifejourney.com\/?p=7606","url_meta":{"origin":5758,"position":0},"title":"ChatGPT\u6e2c\u8a66_11\uff08\u8a62\u554fsendmail third party libraries for Swift)","author":"Kevin","date":"31 3 \u6708, 2023","format":false,"excerpt":"\u554fChatGPT: ios swift recommend third-party librarie\u2026","rel":"","context":"\u5728\u300cChatGPT\u300d\u4e2d","block_context":{"text":"ChatGPT","link":"https:\/\/1989lifejourney.com\/?cat=760577830"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2023\/03\/e688aae59c96-2023-03-31-e4b88ae58d8810.21.33.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2023\/03\/e688aae59c96-2023-03-31-e4b88ae58d8810.21.33.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2023\/03\/e688aae59c96-2023-03-31-e4b88ae58d8810.21.33.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2023\/03\/e688aae59c96-2023-03-31-e4b88ae58d8810.21.33.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2023\/03\/e688aae59c96-2023-03-31-e4b88ae58d8810.21.33.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2023\/03\/e688aae59c96-2023-03-31-e4b88ae58d8810.21.33.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":5808,"url":"https:\/\/1989lifejourney.com\/?p=5808","url_meta":{"origin":5758,"position":1},"title":"UML\u4e4b\u985e\u5225\u5716\u8b80\u66f8\u7b46\u8a18 &#8211; 1","author":"Kevin","date":"10 8 \u6708, 2022","format":false,"excerpt":"\u53c3\u8003\u7db2\u7ad9\uff1a https:\/\/misomiso43.medium.com\/%E7%B0%A1%E5%9\u2026","rel":"","context":"\u5728\u300cSoftware engineering\u300d\u4e2d","block_context":{"text":"Software engineering","link":"https:\/\/1989lifejourney.com\/?cat=11176"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/08\/img_3556-1.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/08\/img_3556-1.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/08\/img_3556-1.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/08\/img_3556-1.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/08\/img_3556-1.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/08\/img_3556-1.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":276,"url":"https:\/\/1989lifejourney.com\/?p=276","url_meta":{"origin":5758,"position":2},"title":"AVFoundation Programming Guide &#8211; Swift &#8211; Using Assets","author":"Kevin","date":"25 12 \u6708, 2019","format":false,"excerpt":"Using Assets Assets can come from a file or from m\u2026","rel":"","context":"\u5728\u300cIOS Development\u300d\u4e2d","block_context":{"text":"IOS Development","link":"https:\/\/1989lifejourney.com\/?cat=37324612"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4426,"url":"https:\/\/1989lifejourney.com\/?p=4426","url_meta":{"origin":5758,"position":3},"title":"Imperative programming v.s. Declarative programming","author":"Kevin","date":"16 2 \u6708, 2022","format":false,"excerpt":"Imperative programming (\u6307\u4ee4\u5f0f\u7a0b\u5f0f\u8a2d\u8a08) \u5b9a\u7fa9:In computer sc\u2026","rel":"","context":"\u5728\u300cTechnology sharing\u300d\u4e2d","block_context":{"text":"Technology sharing","link":"https:\/\/1989lifejourney.com\/?cat=55138170"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4050,"url":"https:\/\/1989lifejourney.com\/?p=4050","url_meta":{"origin":5758,"position":4},"title":"About RESTful api","author":"Kevin","date":"9 1 \u6708, 2022","format":false,"excerpt":"REST(Representational State Transfer)\u5b9a\u7fa9: A softwar\u2026","rel":"","context":"\u5728\u300cIOS Development\u300d\u4e2d","block_context":{"text":"IOS Development","link":"https:\/\/1989lifejourney.com\/?cat=37324612"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4317,"url":"https:\/\/1989lifejourney.com\/?p=4317","url_meta":{"origin":5758,"position":5},"title":"IOS UIBUtton\u6240\u6709\u7684parent class\u53ca\u5176\u8aaa\u660e","author":"Kevin","date":"8 2 \u6708, 2022","format":false,"excerpt":"UIButton\u6240\u6709\u7684parent class: UIButton -> UIControl \u2026","rel":"","context":"\u5728\u300cIOS Development\u300d\u4e2d","block_context":{"text":"IOS Development","link":"https:\/\/1989lifejourney.com\/?cat=37324612"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts\/5758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/users\/139426785"}],"replies":[{"embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5758"}],"version-history":[{"count":2,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts\/5758\/revisions"}],"predecessor-version":[{"id":5760,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts\/5758\/revisions\/5760"}],"wp:attachment":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5758"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpost_folder&post=5758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}