SuperAPI AI 工具集

ruby-gems-bundler

通用与其它

查看项目

更新于 10-16 03:39

技能介绍

该技能用于 Ruby 的包管理实践,围绕 gems 与 Bundler 展开。

用途:管理项目依赖、创建 gem、构建并发布到 RubyGems。

主要能力:

  • Gemfile 编写:声明 source、ruby 版本、生产/开发/测试分组、git 与本地 path 依赖、指定分支或 tag、require 选项。
  • 版本约束:精确版本、~> 悲观运算符、>=、区间与多重约束。
  • Bundler 命令:bundle install(可用 --path vendor/bundle)、bundle update(可指定 gem)、bundle outdated、bundle show、bundle exec、bundle open、bundle check、bundle clean、bundle list、bundle viz。
  • Gemfile.lock:锁定版本以保证一致安装,建议提交到版本控制,可用 rm Gemfile.lock && bundle install 重新生成。
  • 创建 gem:bundle gem my_gem 生成目录结构(lib、spec、bin、gemspec、Rakefile 等),并编写 gemspec、version.rb 与主库文件。
  • 构建与发布:gem build my_gem.gemspec、本地 gem install ./my_gem-0.1.0.gem、gem push my_gem-0.1.0.gem,以及 gem yank/unyank。
  • 其他命令:gem list、search、info、dependency、update、cleanup、env、install -v、--no-document、uninstall、fetch。

使用方式:在 Gemfile 声明依赖后运行 bundle install;用 bundle exec 执行命令以确保使用锁定版本;创建 gem 时用 bundle gem 生成骨架,编辑 gemspec 与版本文件后 gem build 并 gem push 发布。

适用场景:日常 Ruby 项目依赖管理、gem 开发与版本发布、私有源或 git 源依赖、按平台与分组安装 gem。

限制与注意:资料未提供收费、平台支持范围与具体性能数据;需注意不提交 vendor/bundle、避免不必要地使用 require: false 与精确版本、不推送未测试版本、不打包无关文件、不在 gemspec 或 Gemfile 中硬编码凭证。故障排查可用 bundle clean --force、删除 Gemfile.lock 重新生成、bundle install --verbose 等。