gpt4 book ai didi

ruby - 未安装 gem 依赖项

转载 作者:数据小太阳 更新时间:2023-10-29 07:38:01 25 4
gpt4 key购买 nike

我相信这很明显,但我对 ruby​​ 还很陌生。我想使用 rake/albacore 来自动化一些任务。我想使用 bundler 将其打包以在我的构建服务器上使用。现在我想做一个愚蠢的任务,使用 mixlib-shellout 模拟一个 sys 帐户。为此,我有以下 Gemfile:

source 'http://rubygems.org'
gem 'mixlib-shellout'
gem 'rake'

和以下 rake 文件:

require 'rubygems'
require 'bundler/setup'

require 'mixlib/shellout'

task :default do
whomai = Mixlib::ShellOut.new("whoami.exe", :user => "username", :domain => "DOMAIN", :password => "password")
whoami.run_command
end

我跑

bundle install

我只看到安装了 rake ... Gemfile.lock dep 树中没有其他依赖项...这正常吗?

PS C:\Users\Ben\src\ruby_test> bundle install
Fetching gem metadata from http://rubygems.org/...........
Fetching gem metadata from http://rubygems.org/..
Resolving dependencies...
Installing rake (10.1.0)
Using bundler (1.3.5)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

然后我跑

bundle exec rake

我得到返回

rake aborted!
cannot load such file -- mixlib/shellout
C:/Users/Ben/src/ruby_test/rakefile.rb:4:in `require'
C:/Users/Ben/src/ruby_test/rakefile.rb:4:in `<top (required)>'
(See full trace by running task with --trace)

我正在使用 ruby​​ 2.0 和 bundler 1.3.5

感谢收到的任何帮助。

最佳答案

我建议使用 *.gemspec 文件设置您的 gem。为此,您的 Gemfile 变得非常简单:

source 'https://rubygems.org'
gemspec

然后写一个新文件“GEM_NAME.gemspec”。这是一个例子:

Gem::Specification.new do |spec|
spec.name = GAME_NAME
spec.version = VERSION
spec.authors = AUTHORS
spec.email = EMAILS
spec.summary = SUMMARY
spec.description = DESCRIPTION
spec.homepage = HOMEPAGE

spec.files = Dir['rakefile.rb', '*.gemspec']
spec.files += Dir['bin/**', 'lib/**/*.rb']

spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]

spec.add_runtime_dependency "ruby-terminfo", "~> 0.1"

spec.add_development_dependency "bundler", "~> 1.7"
spec.add_development_dependency "rake", "~> 10.0"
end

您需要为每个依赖的 gem 添加单独的 spec.add_runtime_dependency。上面的示例包含“ruby-terminfo”gem。

此外,您需要设置 spec.files 字段以反射(reflect)您的 gem 的文件和文件夹结构。

参见 RubyGem Guide了解更多详情。

关于ruby - 未安装 gem 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17868139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com