在本地装多少gems都无所谓,但是当在服务器上或者是 share host的时候,有的时候并不是您需要的gems都有安装的,这个时候,我们在想最好是在本地把需要的gems打包到vendor里面去,这样怎么迁移都不怕了。
于是google了一番,发现老外们已经实践过了,方法其实也不难,主要是要区分一些gems是无法做大的,但是其他的貌似都是可以的。
具体做法请参考如下这几个文章:
1、http://hideto.iteye.com/blog/82235(中文介绍的,比较简短)
2、http://rubygems.org/read/chapter/10(介绍gem命令的)
3、http://errtheblog.com/posts/50-vendor-everything(具体实现的)
如上三篇文章。用到的命令主要就是gem,所以附带了上面那篇gem的参考:
Ruby代码
1. E:\Ysl\dev\1ster\vendor\gems>gem unpack uuidtools
2. Unpacked gem: 'uuidtools-1.0.1'
3.
4. E:\Ysl\dev\1ster\vendor\gems>gem unpack rio
5. Unpacked gem: 'rio-0.4.1'
6.
7. E:\Ysl\dev\1ster\vendor\gems>ls
8. rio-0.4.1 uuidtools-1.0.1
9.
10. E:\Ysl\dev\1ster\vendor\gems>
于是google了一番,发现老外们已经实践过了,方法其实也不难,主要是要区分一些gems是无法做大的,但是其他的貌似都是可以的。
具体做法请参考如下这几个文章:
1、http://hideto.iteye.com/blog/82235(中文介绍的,比较简短)
2、http://rubygems.org/read/chapter/10(介绍gem命令的)
3、http://errtheblog.com/posts/50-vendor-everything(具体实现的)
如上三篇文章。用到的命令主要就是gem,所以附带了上面那篇gem的参考:
Ruby代码
1. E:\Ysl\dev\1ster\vendor\gems>gem unpack uuidtools
2. Unpacked gem: 'uuidtools-1.0.1'
3.
4. E:\Ysl\dev\1ster\vendor\gems>gem unpack rio
5. Unpacked gem: 'rio-0.4.1'
6.
7. E:\Ysl\dev\1ster\vendor\gems>ls
8. rio-0.4.1 uuidtools-1.0.1
9.
10. E:\Ysl\dev\1ster\vendor\gems>