1.rvm
管理不同的ruby版本。
1 | rvm list #列出不同的ruby版本 |
2.gem
管理ruby的库文件。
1 | gem install cocoapods #安装cocoapods到全局环境 |
https://blog.csdn.net/u014621915/article/details/62221705
3.bundler
管理gem的依赖关系,使用Gemfile和Gemfile.lock。
先在Gemfile中写好需要安装的gem的版本比如
1 | source 'https://rubygems.org' |
然后执行bundler install
1 | bundler install # 从Gemfile.lock中安装gem |
3.cocoapods
这个是管理iOS的第三方依赖包的,管理文件是Podfile。
1 | pod install # 安装第三方库,安装之后使用.xcworkspace打开项目。不要使用.xcodeproj |
1.当执行 bundle install 后,默认是将gem安装到哪个目录下的呢?
默认 bundle install 就装在 ruby 所在的目录了($GEM_HOME下), 例如 ~/.rvm/gems/ruby-2.1.5/gems/rspec-rails-3.2.1
2.如果我把gemfile.lock 删除后,在执行bundle install 是不是会安装最新gem(gemfile未指定版本号)
删了 lock 后, bundle install 会先从本地已经安装的 gem 找本地最新版本来依赖.
3.如果用gem install gem_name 安装相关gem后,bundle install 还会安装吗?
gem install 之后, bundle install 会复用, 不会重新安装.
以上所有行为都是默认情况下, 基本上都可以指派参数来调整缺省行为.
https://ruby-china.org/topics/24703?page=2
4.ruby的加载
ruby有一个加载路径,所有的模块都是从这个路径中寻找文件。运行gem clean
可以去掉不要的gems,这样就可以加速gem的查找顺序。
5.Rvm ruby Permission denied
Since you are already there this should fix it:
1 | rvmsudo rvm get stable --auto-dotfiles |
Also make sure you are in rvm group - if not add yourself:
1 | rvm group add rvm $USER #这个是optional |
and log in to a new shell (log out and log back in).
6.安装ruby3.0
1 | rvm get stable # 这个是升级rvm |