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_commandend
我跑
bundle install
我只看到rake正在安装…… Gemfile.lock dep树中没有其他依赖项……这是正常的吗?
PS C:\Users\Ben\src\ruby_test> bundle installFetching 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/shelloutC:/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字段以反映您的gem的文件和文件夹结构.
有关详细信息,请参见RubyGem Guide.
总结以上是内存溢出为你收集整理的ruby – 未安装gem依赖项全部内容,希望文章能够帮你解决ruby – 未安装gem依赖项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)