☰
DevDocs 不依赖 Docker 时如何用 Ruby 环境手动安装并本地启动服务?
2026/9/30 21:16:41 网站建设 项目流程

DevDocs 不依赖 Docker 时如何用 Ruby 环境手动安装并本地启动服务?

【免费下载链接】devdocsAPI Documentation Browser项目地址: https://gitcode.com/GitHub_Trending/de/devdocs

如果你想在自己的机器上跑一个 DevDocs 实例,但不想引入 Docker,或者需要直接修改源码,可以走项目 README 中的 Manual Installation 路径:DevDocs 由一个 Ruby scraper 和一个基于 Sinatra 的 JavaScript 应用组成,手动安装就是用 Ruby 环境装好依赖、下载预生成的文档包,再用 Rack 把服务跑起来。完成本文步骤后,你会在localhost:9292上得到一个可离线搜索的文档浏览器。

准备条件:Ruby 版本、libcurl 与 JavaScript 运行时

安装前需要满足三个环境要求(来自 README.md 的 Manual Installation 一节):

  • Ruby 4.0.6——这是 Gemfile 中ruby '4.0.6'声明的精确版本,版本不符会导致bundle install失败;
  • libcurl——scraper 依赖的系统库;
  • 一个 ExecJS 支持的 JavaScript 运行时——OS X 和 Windows 系统自带;Linux 上需要安装 Node.js。

Arch Linux 用户可以直接按文档给出的方式安装:

pacman -S ruby ruby-bundler ruby-erb ruby-irb

其他发行版请自行用包管理器或版本管理器装好 Ruby 4.0.6 和 Node.js,README 未给出逐发行版的安装命令。

安装依赖与下载默认文档

在项目根目录依次执行以下命令(来自 README,原样保留):

git clone https://github.com/freeCodeCamp/devdocs.git && cd devdocs gem install bundler bundle install bundle exec thor docs:download --default bundle exec rackup

各条命令的作用:

  1. gem install bundler:安装 Bundler,供bundle install按 Gemfile 拉取全部 Ruby 依赖(sinatra、thor、rack、nokogiri、typhoeus 等)。
  2. bundle exec thor docs:download --default:从 DevDocs 的服务器下载预生成的文档包(而不是自己抓站),--default表示只下载默认文档集。
  3. bundle exec rackup:启动 Sinatra 应用(入口见 config.ru),服务默认监听 9292 端口。注意:rackup是前台进程,按Ctrl+C停止。

如果系统上装了多个 Ruby 版本,README 明确要求:所有命令都必须通过bundle exec执行,以确保使用 Bundler 选定的 Ruby。

按需选择要下载的文档集

thor docs:download的完整用法(见 lib/tasks/docs.thor)是download (<doc> <doc@version>... | --default | --installed | --all),四种方式:

# 下载默认文档集 bundle exec thor docs:download --default # 只下载指定的文档集(可带版本,参数来自文档中的示例 html css) bundle exec thor docs:download html css # 下载本项目的全部可用文档(体积大,仅在需要时使用) bundle exec thor docs:download --all

不确定有哪些文档集和版本时,先运行bundle exec thor docs:list查看列表;下载不存在的文档名会报ERROR: ...并提示运行thor docs:list。想查看全部命令和选项,在仓库根目录运行thor list。

验证服务是否启动成功

rackup启动后,把浏览器指向 localhost:9292。README 给出的判断依据是:首次请求需要几秒钟来编译 assets,之后即可正常浏览和搜索已下载的文档集。浏览器要求见 README 的 App 一节:较新版本的 Firefox/Chrome/Opera、Safari 11.1+、Edge 17+、iOS 11.3+(IE 会被应用直接拦截并显示不支持页面)。

日常更新与已知限制

  • 更新代码:git pull origin main;更新已下载文档:thor docs:download --installed。README 明确说明,目前除此之外没有别的更新机制。
  • docs:download下载的是 DevDocs 服务器上的预生成包;如果需要自己抓站生成,应使用thor docs:generate,但 lib/tasks/docs.thor 中对该命令有明确警告:部分 scraper 会在短时间内发送成千上万次 HTTP 请求,可能拖慢源站,除非你在改 scraper 代码,否则应优先docs:download。
  • 生产部署路径(Heroku、S3 上传)属于维护者工作流,见 docs/maintainers.md,与本地手动运行无关,本文不涉及。

安装完成后,localhost:9292上的 DevDocs 就与托管版本功能一致:即时搜索、离线模式、暗色主题和键盘快捷键均可直接使用。

【免费下载链接】devdocsAPI Documentation Browser项目地址: https://gitcode.com/GitHub_Trending/de/devdocs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询