[英]bundle install errors on carrierwave gem
I am trying to install a gem(carrierwave) and when I use the command bundle install I am having an error like this: 我正在尝试安装gem(carrierwave),当我使用命令bundle install时,我遇到如下错误:
Invalid gemspec in [/home/sup1re/superrrr/vendor/bundle/ruby/1.8/specifications/carrierwave-0.6.2.gemspec]: Illformed requirement ["# 1.1.4"]
[/home/sup1re/superrrr/vendor/bundle/ruby/1.8/specifications/carrierwave-0.6.2.gemspec]中的gemspec无效:格式错误的要求[“#1.1.4”]
And 和
Installing carrierwave (0.6.2) Invalid gemspec in [/home/sup1re/superrrr/vendor/bundle/ruby/1.8/specifications/carrierwave-0.6.2.gemspec]: Illformed requirement ["# 1.1.4"]
在[/home/sup1re/superrrr/vendor/bundle/ruby/1.8/specifications/carrierwave-0.6.2.gemspec]中安装carrierwave(0.6.2)无效的gemspec:格式错误的要求[“#1.1.4”]
I also trien to run the " gem update --system
" 我还试图运行“
gem update --system
”
and I got this error 我收到了这个错误
[1]: http://i.stack.imgur.com/RUxW9.png [1]:http://i.stack.imgur.com/RUxW9.png
Specs: 眼镜:
ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux]
ruby 1.8.7(2011-02-18 patchlevel 334)[x86_64-linux]
Rails 3.2.3
Rails 3.2.3
Gem version is 1.8.5
宝石版是1.8.5
I wonder what is the problem with my Gemfile. 我想知道我的Gemfile有什么问题。
Any comments are very welcome. 任何评论都非常欢迎。 Thank you.
谢谢。
Here is the carrierwave-0.6.2.gemspec that causes the error 这是导致错误的carrierwave-0.6.2.gemspec
# -*- encoding: utf-8 -*-
Gem::Specification.new do |s|
s.name = %q{carrierwave}
s.version = "0.6.2"
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = [%q{Jonas Nicklas}]
s.date = %q{2012-04-12}
s.description = %q{Upload files in your Ruby applications, map them to a range of ORMs, store them on different backends.}
s.email = [%q{jonas.nicklas@gmail.com}]
s.extra_rdoc_files = [%q{README.md}]
s.files = [%q{README.md}]
s.homepage = %q{https://github.com/jnicklas/carrierwave}
s.rdoc_options = [%q{--main}]
s.require_paths = [%q{lib}]
s.rubyforge_project = %q{carrierwave}
s.rubygems_version = %q{1.8.5}
s.summary = %q{Ruby file upload library}
if s.respond_to? :specification_version then
s.specification_version = 3
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<activesupport>, [">= 3.2.0"])
s.add_runtime_dependency(%q<activemodel>, [">= 3.2.0"])
s.add_development_dependency(%q<mysql2>, [">= 0"])
s.add_development_dependency(%q<rails>, [">= 3.2.0"])
s.add_development_dependency(%q<cucumber>, ["#<YAML::Syck::DefaultKey:0x718a860d0a98> 1.1.4"])
s.add_development_dependency(%q<json>, [">= 0"])
s.add_development_dependency(%q<rspec>, ["~> 2.0"])
s.add_development_dependency(%q<sham_rack>, [">= 0"])
s.add_development_dependency(%q<timecop>, [">= 0"])
s.add_development_dependency(%q<fog>, [">= 1.3.1"])
s.add_development_dependency(%q<mini_magick>, [">= 0"])
s.add_development_dependency(%q<rmagick>, [">= 0"])
else
s.add_dependency(%q<activesupport>, [">= 3.2.0"])
s.add_dependency(%q<activemodel>, [">= 3.2.0"])
s.add_dependency(%q<mysql2>, [">= 0"])
s.add_dependency(%q<rails>, [">= 3.2.0"])
s.add_dependency(%q<cucumber>, ["#<YAML::Syck::DefaultKey:0x718a860d0a98> 1.1.4"])
s.add_dependency(%q<json>, [">= 0"])
s.add_dependency(%q<rspec>, ["~> 2.0"])
s.add_dependency(%q<sham_rack>, [">= 0"])
s.add_dependency(%q<timecop>, [">= 0"])
s.add_dependency(%q<fog>, [">= 1.3.1"])
s.add_dependency(%q<mini_magick>, [">= 0"])
s.add_dependency(%q<rmagick>, [">= 0"])
end
else
s.add_dependency(%q<activesupport>, [">= 3.2.0"])
s.add_dependency(%q<activemodel>, [">= 3.2.0"])
s.add_dependency(%q<mysql2>, [">= 0"])
s.add_dependency(%q<rails>, [">= 3.2.0"])
s.add_dependency(%q<cucumber>, ["#<YAML::Syck::DefaultKey:0x718a860d0a98> 1.1.4"])
s.add_dependency(%q<json>, [">= 0"])
s.add_dependency(%q<rspec>, ["~> 2.0"])
s.add_dependency(%q<sham_rack>, [">= 0"])
s.add_dependency(%q<timecop>, [">= 0"])
s.add_dependency(%q<fog>, [">= 1.3.1"])
s.add_dependency(%q<mini_magick>, [">= 0"])
s.add_dependency(%q<rmagick>, [">= 0"])
end
end
You need to update Rubygems, this is not a carrierwave issue. 您需要更新Rubygems,这不是载波问题。
sudo gem update --system
or gem update --system
depends on your setup. sudo gem update --system
或gem update --system
取决于你的设置。
You need to update rubygems, but first you need to fix the broken gemspecs. 您需要更新rubygems,但首先需要修复损坏的gemspecs。
Open .../specifications/carrierwave-0.6.2.gemspec
in an editor, and remove all instances of #<YAML::Syck::DefaultKey:0x718a860d0a98>
. 在编辑器中打开
.../specifications/carrierwave-0.6.2.gemspec
,并删除#<YAML::Syck::DefaultKey:0x718a860d0a98>
所有实例。 (Or sed -i 's/#<.*> //' blah.gemspec
.) (或者
sed -i 's/#<.*> //' blah.gemspec
。)
Then run gem update --system
as described elsewhere. 然后运行
gem update --system
,如其他地方所述。
For me this problem arose with the version of Ruby I was using with RVM. 对我来说,这个问题出现在我使用RVM的Ruby版本中。 When attempting to install the carrierwave gem in ruby 1.8.7 it failed and my app was using ruby 1.9.3.
当试图在ruby 1.8.7中安装carrierwave gem时,它失败了,我的应用程序正在使用ruby 1.9.3。
I resolved it by having the file .rvmrc
in the root level of my app have the correct version of ruby I needed: 我通过让我的应用程序的根级别的
.rvmrc
文件具有我需要的正确版本的ruby来解决它:
rvm use ruby-1.9.3-p385
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.