Knowledge (XXG)

RubyGems

Source ๐Ÿ“

487: 196: 380:
that updating RubyGems on Ruby 1.9 was not possible until RubyGems 1.5.0 was released in 2011, two years after the first stable release of Ruby 1.9. These compatibility issues led to a rapid development of RubyGems, switching to a 4โ€“6 week release schedule. This is reflected in there being 38 releases from 2004 to 2010 and 117 releases from 2011 to 2016. 45 versions were released in 2013, which is the highest number of releases in a year for RubyGems.
1173: 36: 1185: 379:
with RubyGems and Ruby varied. Many versions of RubyGems are almost fully incompatible with many versions of Ruby and some versions had key features unusable. For example, Ruby 1.9 came with RubyGems 1.3.7 in its standard distribution, but RubyGems 1.4.x was not compatible with Ruby 1.9. This meant
452:
Since gems run their own code in an application it may lead to various security issues due to installation of malicious gems. The creator of a malicious gem may be able to compromise the user's system or server.
767: 368:
2004. In 2010, the default public repository for gems moved from gems.rubyforge.org to rubygems.org, which is still in use. Also, RubyGems development was moved to
1216: 908: 1211: 760: 416:
gem_name/ โ”œโ”€โ”€ bin/ โ”‚ โ””โ”€โ”€ gem_name โ”œโ”€โ”€ lib/ โ”‚ โ””โ”€โ”€ gem_name.rb โ”œโ”€โ”€ test/ โ”‚ โ””โ”€โ”€ test_gem_name.rb โ”œโ”€โ”€ README โ”œโ”€โ”€ Rakefile โ””โ”€โ”€ gem_name.gemspec
1177: 492: 562: 784: 1189: 880: 872: 753: 611: 119: 1137: 57: 50: 443:
Gem specification (gemspec) contains information about the author of the gem, the time of creation and the purpose the gem serves.
372:
in 2010. Though RubyGems has existed since Ruby 1.8, it was not a part of the standard Ruby distribution until Ruby 1.9.
345:
to help find and load installed gems from standardized library folders. Though it is possible to use a private RubyGems
175: 100: 1079: 776: 209: 149: 72: 388:
Every gem contains a name, version and platform. Gems work only on ruby designed for a particular platform based on
976: 46: 299: 133: 79: 1115: 1105: 306:(in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems, and a 1019: 460: 926: 376: 86: 916: 510: 389: 463:
of gems since RubyGems version 0.8.11. The gem cert and gem install commands are used for this purpose.
364:
Development on RubyGems started in November 2003 and was released to the public on March 14, 2004, or
1131: 1068: 956: 500: 68: 656: 1110: 1034: 991: 353: 346: 307: 303: 228: 323: 1100: 1054: 1039: 995: 971: 342: 311: 1003: 632: 1073: 966: 852: 566: 334: 540: 319: 240: 216: 936: 505: 427: 341:
which can install and manage libraries (the gems). RubyGems integrates with Ruby run-time
295: 233: 615: 195: 931: 327: 221: 93: 1205: 1029: 961: 888: 356:
and install them. RubyGems is bundled with the standard Ruby package as of Ruby 1.9.
1158: 1143: 921: 245: 587: 315: 35: 893: 871: 818: 482: 1153: 1148: 1024: 981: 745: 740: 680: 1063: 898: 857: 839: 799: 520: 704: 456:
A number of methods have been developed to counter the security threat:
17: 1084: 941: 847: 834: 474:
have been proposed and are actively being discussed among Ruby experts.
471: 409:
The code organization follows the following structure for a gem called
184: 1044: 433: 369: 365: 302:
that provides a standard format for distributing Ruby programs and
1008: 946: 813: 808: 467: 349:, the public repository is most commonly used for gem management. 1014: 803: 437: 749: 515: 29: 283: 273: 132:"Gem (software)" redirects here. For the 1980s desktop, see 733: 256: 352:
The public repository helps users find gems, resolve
1124: 1093: 1053: 990: 907: 879: 827: 792: 783: 279: 269: 251: 239: 227: 215: 205: 174: 148: 423:The test (or spec) directory is used for testing. 420:The lib directory contains the code for the gem. 761: 8: 139: 789: 768: 754: 746: 194: 138: 310:for distributing them. It was created by 120:Learn how and when to remove this message 532: 430:to automate tests and to generate code. 392:and operating-system type and version. 266: 56:Please improve this article by adding 7: 1184: 627: 625: 493:Free and open-source software portal 25: 1217:Free software programmed in Ruby 1183: 1172: 1171: 870: 485: 333:The interface for RubyGems is a 34: 1212:Free package management systems 681:"What is a gem? - RubyGems.org" 1138:why's (poignant) Guide to Ruby 563:"174 Rubygems with Eric Hodel" 1: 633:"Version history of RubyGems" 58:secondary or tertiary sources 705:"Security - RubyGems Guides" 588:"RubyGems Command Reference" 436:includes the documentation, 466:New signing models such as 405:Gem specification (Gemspec) 1233: 155:3.5.18 / 26 August 2024 131: 1167: 868: 777:Ruby programming language 300:Ruby programming language 170: 144: 134:GEM (desktop environment) 1106:David Heinemeier Hansson 27:Package manager for Ruby 927:Interactive Ruby Shell 612:"Ruby 1.9.1 changelog" 395:Each gem consists of: 330:during RubyConf 2004. 45:relies excessively on 741:Linux Journal article 657:"Ruby 1.9.1 released" 511:pip (package manager) 461:Cryptographic signing 157:; 27 days ago 1076:(mod_rails/mod_rack) 501:Ruby Version Manager 426:Rakefile is used by 1111:why the lucky stiff 709:guides.rubygems.org 685:guides.rubygems.org 592:guides.rubygems.org 141: 1101:Yukihiro Matsumoto 384:Structure of a gem 1199: 1198: 1074:Phusion Passenger 866: 865: 661:www.ruby-lang.org 448:Security concerns 335:command-line tool 289: 288: 265: 264: 130: 129: 122: 104: 16:(Redirected from 1224: 1187: 1186: 1175: 1174: 874: 790: 770: 763: 756: 747: 737: 736: 734:Official website 719: 718: 716: 715: 701: 695: 694: 692: 691: 677: 671: 670: 668: 667: 653: 647: 646: 644: 643: 629: 620: 619: 614:. Archived from 608: 602: 601: 599: 598: 584: 578: 577: 575: 574: 565:. Archived from 559: 553: 552: 550: 548: 543:. 26 August 2024 541:"Release 3.5.18" 537: 495: 490: 489: 488: 440:, for most gems. 390:CPU architecture 320:David Alan Black 267: 261: 258: 217:Operating system 198: 193: 190: 188: 186: 165: 163: 158: 142: 125: 118: 114: 111: 105: 103: 62: 38: 30: 21: 1232: 1231: 1227: 1226: 1225: 1223: 1222: 1221: 1202: 1201: 1200: 1195: 1163: 1132:Document format 1120: 1089: 1049: 986: 903: 875: 862: 823: 785:Implementations 779: 774: 732: 731: 728: 723: 722: 713: 711: 703: 702: 698: 689: 687: 679: 678: 674: 665: 663: 655: 654: 650: 641: 639: 631: 630: 623: 610: 609: 605: 596: 594: 586: 585: 581: 572: 570: 561: 560: 556: 546: 544: 539: 538: 534: 529: 506:Package manager 491: 486: 484: 481: 450: 417: 386: 362: 296:package manager 280:Total downloads 255: 234:Package manager 201: 183: 166: 161: 159: 156: 137: 126: 115: 109: 106: 63: 61: 55: 51:primary sources 39: 28: 23: 22: 15: 12: 11: 5: 1230: 1228: 1220: 1219: 1214: 1204: 1203: 1197: 1196: 1194: 1193: 1181: 1168: 1165: 1164: 1162: 1161: 1156: 1151: 1146: 1141: 1134: 1128: 1126: 1122: 1121: 1119: 1118: 1113: 1108: 1103: 1097: 1095: 1091: 1090: 1088: 1087: 1082: 1077: 1071: 1066: 1060: 1058: 1051: 1050: 1048: 1047: 1042: 1037: 1032: 1027: 1022: 1017: 1012: 1006: 1000: 998: 988: 987: 985: 984: 979: 974: 969: 964: 959: 954: 949: 944: 939: 934: 929: 924: 919: 913: 911: 905: 904: 902: 901: 896: 891: 885: 883: 877: 876: 869: 867: 864: 863: 861: 860: 855: 850: 845: 842: 837: 831: 829: 825: 824: 822: 821: 816: 811: 806: 796: 794: 787: 781: 780: 775: 773: 772: 765: 758: 750: 744: 743: 738: 727: 726:External links 724: 721: 720: 696: 672: 648: 621: 618:on 2022-01-17. 603: 579: 554: 531: 530: 528: 525: 524: 523: 518: 513: 508: 503: 497: 496: 480: 477: 476: 475: 464: 449: 446: 445: 444: 441: 431: 424: 421: 415: 407: 406: 403: 400: 385: 382: 361: 358: 328:Richard Kilmer 287: 286: 281: 277: 276: 271: 263: 262: 253: 249: 248: 243: 237: 236: 231: 225: 224: 222:Cross-platform 219: 213: 212: 207: 203: 202: 200: 199: 180: 178: 172: 171: 168: 167: 162:26 August 2024 154: 152: 150:Stable release 146: 145: 128: 127: 42: 40: 33: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1229: 1218: 1215: 1213: 1210: 1209: 1207: 1192: 1191: 1182: 1180: 1179: 1170: 1169: 1166: 1160: 1157: 1155: 1152: 1150: 1147: 1145: 1142: 1140: 1139: 1135: 1133: 1130: 1129: 1127: 1123: 1117: 1114: 1112: 1109: 1107: 1104: 1102: 1099: 1098: 1096: 1092: 1086: 1083: 1081: 1078: 1075: 1072: 1070: 1067: 1065: 1062: 1061: 1059: 1056: 1052: 1046: 1043: 1041: 1038: 1036: 1033: 1031: 1030:Ruby on Rails 1028: 1026: 1023: 1021: 1018: 1016: 1013: 1010: 1007: 1005: 1002: 1001: 999: 997: 993: 989: 983: 980: 978: 975: 973: 970: 968: 965: 963: 960: 958: 955: 953: 950: 948: 945: 943: 940: 938: 935: 933: 930: 928: 925: 923: 920: 918: 915: 914: 912: 910: 906: 900: 897: 895: 892: 890: 889:Aptana Studio 887: 886: 884: 882: 878: 873: 859: 856: 854: 851: 849: 846: 843: 841: 838: 836: 833: 832: 830: 826: 820: 817: 815: 812: 810: 807: 805: 801: 798: 797: 795: 791: 788: 786: 782: 778: 771: 766: 764: 759: 757: 752: 751: 748: 742: 739: 735: 730: 729: 725: 710: 706: 700: 697: 686: 682: 676: 673: 662: 658: 652: 649: 638: 634: 628: 626: 622: 617: 613: 607: 604: 593: 589: 583: 580: 569:on 2021-07-31 568: 564: 558: 555: 542: 536: 533: 526: 522: 519: 517: 514: 512: 509: 507: 504: 502: 499: 498: 494: 483: 478: 473: 469: 465: 462: 459: 458: 457: 454: 447: 442: 439: 435: 432: 429: 425: 422: 419: 418: 414: 412: 404: 402:Documentation 401: 398: 397: 396: 393: 391: 383: 381: 378: 377:compatibility 373: 371: 367: 359: 357: 355: 350: 348: 344: 340: 336: 331: 329: 325: 321: 317: 313: 309: 305: 301: 297: 293: 285: 282: 278: 275: 272: 268: 260: 254: 250: 247: 244: 242: 238: 235: 232: 230: 226: 223: 220: 218: 214: 211: 208: 204: 197: 192: 182: 181: 179: 177: 173: 169: 153: 151: 147: 143: 135: 124: 121: 113: 102: 99: 95: 92: 88: 85: 81: 78: 74: 71: โ€“  70: 66: 65:Find sources: 59: 53: 52: 48: 43:This article 41: 37: 32: 31: 19: 1188: 1176: 1159:Ruby License 1144:Ruby Central 1136: 951: 922:Hackety Hack 909:Applications 828:Discontinued 712:. Retrieved 708: 699: 688:. Retrieved 684: 675: 664:. Retrieved 660: 651: 640:. Retrieved 636: 616:the original 606: 595:. Retrieved 591: 582: 571:. Retrieved 567:the original 557: 545:. Retrieved 535: 455: 451: 410: 408: 394: 387: 375:Previously, 374: 363: 354:dependencies 351: 338: 332: 324:Paul Brannan 291: 290: 284:109+ billion 246:Ruby License 116: 107: 97: 90: 83: 76: 64: 44: 1116:Dave Thomas 316:Jim Weirich 312:Chad Fowler 1206:Categories 1004:Adhearsion 996:frameworks 917:Capistrano 894:Komodo IDE 819:RubyMotion 714:2016-09-23 690:2016-09-18 666:2016-09-18 642:2016-09-18 597:2016-09-18 573:2018-05-09 527:References 347:repository 270:Total gems 206:Written in 176:Repository 80:newspapers 69:"RubyGems" 47:references 1154:RubyForge 1149:RubyKaigi 1025:RubyCocoa 992:Libraries 982:CocoaPods 547:27 August 304:libraries 191:/rubygems 189:/rubygems 110:July 2021 1178:Category 1064:mod_ruby 1057:software 977:Homebrew 952:RubyGems 899:RubyMine 858:Rubinius 840:IronRuby 800:Ruby MRI 521:LuaRocks 479:See also 411:gem_name 298:for the 292:RubyGems 274:173,000+ 257:rubygems 140:RubyGems 18:Rubygems 1190:Commons 1085:WEBrick 1069:Mongrel 1040:Sinatra 1020:Padrino 1011:(RHTML) 972:Vagrant 942:Redmine 848:HotRuby 835:MacRuby 472:OpenPGP 360:History 337:called 252:Website 241:License 160: ( 94:scholar 1094:People 1055:Server 1045:QtRuby 967:Puppet 853:MagLev 793:Active 637:GitHub 434:README 370:GitHub 366:Pi Day 343:loader 308:server 185:github 96:  89:  82:  75:  67:  1125:Other 1035:Shoes 1009:eRuby 947:RSpec 844:XRuby 814:JRuby 809:mruby 294:is a 101:JSTOR 87:books 1080:Rack 1015:Merb 994:and 962:Chef 937:Rake 804:YARV 549:2024 470:and 468:X509 438:RDOC 428:Rake 399:Code 326:and 259:.org 229:Type 210:Ruby 187:.com 73:news 957:RVM 932:Pry 881:IDE 516:npm 339:gem 49:to 1208:: 802:; 707:. 683:. 659:. 635:. 624:^ 590:. 413:: 322:, 318:, 314:, 60:. 769:e 762:t 755:v 717:. 693:. 669:. 645:. 600:. 576:. 551:. 164:) 136:. 123:) 117:( 112:) 108:( 98:ยท 91:ยท 84:ยท 77:ยท 54:. 20:)

Index

Rubygems

references
primary sources
secondary or tertiary sources
"RubyGems"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
GEM (desktop environment)
Stable release
Repository
github.com/rubygems/rubygems
Edit this at Wikidata
Ruby
Operating system
Cross-platform
Type
Package manager
License
Ruby License
rubygems.org
173,000+
109+ billion
package manager
Ruby programming language
libraries

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

โ†‘