使用 Ruby 打包意味着使用 Ruby 提供的命令(gem
和 bundle
)来安装宝石(gem)。一个 gem 是打包好的 Ruby 应用程序或库,通常从 {url-rubygems}[RubyGems.org^] 检索而来。
使用 Ruby 打包安装 Asciidoctor 的好处是它具有普适性。只要你正确配置了 Ruby,Ruby 打包在所有 Ruby 运行时和操作系统中的工作方式都是相同的。本页解释了如何使用 Ruby 打包从 asciidoctor gem 安装 Asciidoctor。
Warning
|
除非你在容器中运行(例如Docker、podman、OCI),否则_永远不要_以root用户身份使用`gem install`来安装gems。这样做几乎肯定会干扰甚至可能破坏系统上的Ruby安装。我们强烈建议您使用[Bundler]来管理项目中的gems(或者使用RVM gemset来将安装限制在您的用户/家目录中)。当你在容器中运行或者使用RVM(理想情况下配合gemset)时,我们提供了`gem install`的指令。 |
配置Ruby打包
确保Ruby配置正确以使用Ruby包管理的最佳方式是通过Ruby版本管理器安装Ruby。我们推荐您设置{url-rvm}[RVM^]并用它在您的家目录(即用户空间)中安装Ruby。一旦完成,您就可以安全地使用`gem`或`bundle`命令来安装或更新Asciidoctor宝石,或者其他任何宝石。使用RVM管理的Ruby时,宝石会被安装在系统隔离的地方(因此您不需要root/管理员权限)。
gem install
一旦你使用RVM安装了Ruby,并且你通过`rvm use {ruby-version}`命令激活它后,打开终端并输入:
$ gem install asciidoctor
Unresolved directive in ruby-packaging.adoc - include::partial$success.adoc[]
安装一个预发行版本
要安装Asciidoctor的预发布版本(例如,候选发布版本),在运行`gem install`命令时包含`--pre`选项。
$ gem install asciidoctor --pre
选项`--pre`将会选择Asciidoctor的预发布版本而不是最新的稳定版本。请注意,如果没有可用的最新预发布版本,那么预发布版本可能比最新的稳定版本要旧。
打包程序
Bundler 创建了一个虚拟环境,将宝石(gems)的安装限制在当前项目中。以下是您可以使用它来安装和运行 Asciidoctor 的方法。
-
在项目的根文件夹中(或者当前目录)创建一个Gemfile:
$ bundle init
-
将
asciidoctor
宝石(gem)添加到您的Gemfile文件底部,如下所示:gem 'asciidoctor' # or specify the version explicitly # gem 'asciidoctor', '{release-version}'
-
保存Gemfile文件
-
打开终端并使用以下命令安装gem:
$ bundle
要升级gem,指定新版本号到Gemfile中并重新运行`bundle`命令。不推荐使用`bundle update`命令(不指定gem)因为它会更新其他的gems,这可能不是想要的结果。
Important
|
一旦你使用Bundler进行安装,你必须从包含[.path]_Gemfile_的目录运行宝石提供的任何可执行文件(例如,asciidoctor ),并且还需要在可执行文件名称前加上`bundle exec`前缀(例如,bundle exec asciidoctor )。这个`bundle exec`前缀告诉Ruby使用定义在[.path]_Gemfile_中的宝石。
|
如果你想更多地了解Bundler以及`bundle exec`和什么时候使用它们,请参阅文章 https://www.ombulabs.com/blog/ruby/learning/understanding-bundler.html [理解Bundler^]。
使用 gem update 命令升级
Caution
|
您不应该使用 如果您想使用一个比包管理器安装的版本更新的Asciidoctor,您应该使用 {url-rvm}[RVM^] 在您的家目录中安装Ruby(即,用户空间)。然后,您可以安全地使用`gem`命令来安装或更新Asciidoctor宝石。当使用RVM时,宝石会被安装在一个与系统隔离的位置。 |
你可以使用gem `update`命令来升级Asciidoctor。
$ gem update asciidoctor
Tip
|
如果你不小心使用了`gem install`而不是`gem update`,那么你会安装了两个版本。要移除较旧的版本,请使用以下的`gem`命令: $ gem cleanup asciidoctor |
使用 gem uninstall 命令来卸载
您可以使用gem命令`uninstall`来卸载Asciidoctor。
$ gem uninstall -x asciidoctor
-x` 选项用于关闭删除 `asciidoctor` 可执行文件的确认,而是会自动删除它。换句话说,它启用了完全卸载功能。
如果您安装了多个版本的Asciidoctor,系统会提示您指定想要卸载的版本。
[.output]
....
Select gem to uninstall:
1. asciidoctor-2.0.15
2. asciidoctor-2.0.16
3. All versions
>
....
您可以卸载特定版本或所有版本。在提示符(`>`) 处输入其中一个数字,然后按下kbd:[Enter]键。