如何在 ruby 脚本中更新 gem
How to update a gem in a ruby script
我有一个 ruby 脚本,其中指定了必要的 gem,例如
#!/usr/bin/env ruby
require 'bundler/inline'
require 'matrix'
gemfile do
source 'https://rubygems.org'
ruby '2.7.3'
gem 'colorize'
gem 'pry'
end
puts "warning".colorize(:red)
通常要更新 gem,我会输入类似 bundle update colorize
的内容,但这个 returns 是一个错误
Could not locate Gemfile
那么如何更新此脚本中的 gem。我可以列出 Gemfile.lock 的等价物吗?
因为在单个文件 ruby 脚本中使用捆绑器使用最新安装的约束 gem,为了更新其中一个 gem,您只需要 运行 这个(根据你的例子)
gem update colorize
现在您的脚本将使用最新的 colorize
gem 版本。
According to the docs 运行 该文件将安装依赖项。但是,如果没有生成锁定文件,您可能希望在 gemfile
块中手动指定版本:
gemfile do
source 'https://rubygems.org'
ruby '2.7.3'
gem 'colorize', '~> 0.8.1'
gem 'pry', '~> 0.14.1'
end
您的脚本可能不会与库的所有版本兼容,因此在没有锁定文件时添加版本限制可能是个好主意。然后当你想升级的时候,你更新号码,Bundler应该安装新版本。
我有一个 ruby 脚本,其中指定了必要的 gem,例如
#!/usr/bin/env ruby
require 'bundler/inline'
require 'matrix'
gemfile do
source 'https://rubygems.org'
ruby '2.7.3'
gem 'colorize'
gem 'pry'
end
puts "warning".colorize(:red)
通常要更新 gem,我会输入类似 bundle update colorize
的内容,但这个 returns 是一个错误
Could not locate Gemfile
那么如何更新此脚本中的 gem。我可以列出 Gemfile.lock 的等价物吗?
因为在单个文件 ruby 脚本中使用捆绑器使用最新安装的约束 gem,为了更新其中一个 gem,您只需要 运行 这个(根据你的例子)
gem update colorize
现在您的脚本将使用最新的 colorize
gem 版本。
According to the docs 运行 该文件将安装依赖项。但是,如果没有生成锁定文件,您可能希望在 gemfile
块中手动指定版本:
gemfile do
source 'https://rubygems.org'
ruby '2.7.3'
gem 'colorize', '~> 0.8.1'
gem 'pry', '~> 0.14.1'
end
您的脚本可能不会与库的所有版本兼容,因此在没有锁定文件时添加版本限制可能是个好主意。然后当你想升级的时候,你更新号码,Bundler应该安装新版本。