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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.