2014-04-06 56 views
1

當我嘗試通過rails new new_project生成一個Rails應用程序,我收到此錯誤:URI :: InvalidURIError(紅寶石版本:1.9.3,Rails的:3.2.15)

create 
    create README.rdoc 
    create Rakefile 
    create config.ru 
    create .gitignore 
    create Gemfile 
    create app 
    ........ 
    ........ 
    create vendor/assets/stylesheets 
    create vendor/assets/stylesheets/.gitkeep 
    create vendor/plugins 
    create vendor/plugins/.gitkeep 


    run bundle install 
    /home/manish/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/uri/generic.rb:213:\ 
    in ` 'initialize': the scheme http does not accept registry \ 
    part:manish:[email protected]_company.com:port_no; (or bad hostname?) (URI::InvalidURIError) 

添加更多此錯誤它來時,我也運行gem install ruby-debug

Gemfile

source 'https://rubygems.org' 
ruby '1.9.3' 

gem 'rails', '3.2.15'  
gem 'sqlite3' 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'turbolinks', '1.1.1' 
gem 'jbuilder', '1.0.2'  
gem 'jquery-rails' 

有人能解釋我這個錯誤是什麼,以及如何才能擺脫這件事?

+0

你有哪些ruby和rails版本? – SSR

+0

@SSR我已添加標題 – cyborg

+0

@SSR當項目是新的時'routes.rb'沒有發揮任何作用,如果我沒有錯 – cyborg

回答

0

它可能是由於源代碼中的https =>'https://rubygems.org'在Gemfile中。你有沒有試過用: -

source 'http://rubygems.org' 
+0

無法正常工作,我想這與代理或某事的某些映射問題有關。仍在努力解決這個問題 – cyborg

0

我有類似的問題,這竟然是問題Ruby itself

The problem is related to the uri component of Ruby itself, which tries to match the userinfo part of the URI

我的密碼有一個非標準的字符(#),它不能通過URI正則表達式正確處理。所以我固定/usr/lib/ruby/1.8/uri/common.rb

-USERINFO = "(?:[#{UNRESERVED};:&=+$,]|#{ESCAPED})*" 
    +USERINFO = "(?:[#{UNRESERVED};:&=+$,\#]|#{ESCAPED})*" 

和它的工作。請注意,以支持域反斜槓應該是:

USERINFO = "(?:[#{UNRESERVED};:&=+$,\#\\\\]|#{ESCAPED})*" 

根據this。你可以在找到找到這個uri/common.rb文件在你使用的所有紅寶石的安裝中(例如,如果你使用rvm,它將會像.rvm/rubies/ruby​​-2.1.2/lib/ruby/2.1.0/uri/common.rb