当我尝试通过rails new new_project
生成Rails应用程序时,我收到此错误:
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:password@my_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'
有人可以解释我这个错误是什么,我怎样才能摆脱这个错误?
这可能是由于源中的https=>Gemfile中的"https://rubygems.org"。你有没有试过:-
source 'http://rubygems.org'
我遇到了类似的问题,结果证明是Ruby本身的问题:
这个问题与 Ruby 本身的 uri 组件有关,它 尝试匹配 URI 的用户信息部分
我在密码 (#) 中有一个非标准字符,URI 正则表达式无法正确处理。所以我修复了/usr/lib/ruby/1.8/uri/common.rb:
-USERINFO = "(?:[#{UNRESERVED};:&=+$,]|#{ESCAPED})*"
+USERINFO = "(?:[#{UNRESERVED};:&=+$,#]|#{ESCAPED})*"
它奏效了。请注意,要支持 DOMAIN 反斜杠,它应该是:
USERINFO = "(?:[#{UNRESERVED};:&=+$,#\\]|#{ESCAPED})*"
据此。您可以在与 find 一起使用的所有 ruby 安装中找到此 uri/common.rb 文件(例如,如果您使用 rvm,它将类似于 .rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/common.rb)