簡體   English   中英

為什么不安裝RVM(Ruby版本管理器)?

[英]why won't RVM (Ruby Version Manager) install?

因此,我的目標是將Rails從5.0.6升級到Windows 10上的最新版本,以便遵循使用它的教程。 如果我理解正確,那么我需要安裝RVM才能升級我的Rails版本。 從RVM站點https://rvm.io/rvm/install進行安裝的第一個命令是:

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BD

但是我得到以下錯誤:

'gpg' is not recognized as an internal or external command,
operable program or batch file.

所以我的問題是,我需要安裝RVM嗎?如果可以,該如何進行?

如果我升級到Rails 5.1.5,我用5.0.6制作的應用程序將向后兼容並仍可在我的機器上運行,還是會損壞? 對於升級問題,我感到很困惑,因為有關升級的所有視頻和文章似乎都涉及升級單個應用程序,而不是真正的Rails軟件本身。

編輯1:添加了gemfile

source 'https://rubygems.org'

git_source(:github) do |repo_name|
  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
  "https://github.com/#{repo_name}.git"
end

ruby '2.2.6'
gem 'rails', '~> 5.1.2'

# Rails defaults
gem 'puma', '~> 3.7'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
group :development, :test do
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  gem 'capybara', '~> 2.13'
  gem 'selenium-webdriver'
end
group :development do
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

# learn-rails
gem 'bootstrap-sass'
gem 'gibbon'
gem 'high_voltage'
gem 'jquery-rails'
group :development do
  gem 'better_errors'
  gem 'rails_layout'
end
group :development, :test do
  gem 'sqlite3'
end
group :production do
  gem 'pg'
end
group :test do
  gem 'minitest-spec-rails'
end

現在,Rails服務器將無法啟動,並且出現以下錯誤:

C:\Sites\learn-rails>rails s
C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler/rubygems_ext.rb:45:in `full_gem_path': uninitialized constant Bundler::Plugin::API::Source (NameError)
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/basic_specification.rb:145:in `block in full_require_paths'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/basic_specification.rb:144:in `map'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/basic_specification.rb:144:in `full_require_paths'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/basic_specification.rb:77:in `contains_requirable_file?'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/specification.rb:949:in `block in find_in_unresolved'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/specification.rb:949:in `each'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/specification.rb:949:in `find_all'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/specification.rb:949:in `find_in_unresolved'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:74:in `require'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler/plugin/api/source.rb:2:in `<top (required)>'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler/rubygems_ext.rb:45:in `full_gem_path'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/basic_specification.rb:145:in `block in full_require_paths'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/basic_specification.rb:144:in `map'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/basic_specification.rb:144:in `full_require_paths'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/specification.rb:1370:in `add_self_to_load_path'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/specification.rb:1283:in `activate'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:67:in `block in gem'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:66:in `synchronize'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:66:in `gem'
        from C:/Sites/learn-rails/bin/spring:14:in `<top (required)>'
        from bin/rails:3:in `load'
        from bin/rails:3:in `<main>'

您不必具有 Ruby版本管理器(如RVM)即可使用Rails,但是如果您要處理多個項目,建議您這樣做。 類似於Gemfiles使用相同的gem使每個人保持同步的方式,Ruby版本管理器可以幫助確保每個人也都使用相同的Ruby版本。

這里的主要復雜之處在於您正在使用Windows,而RVM 不支持 Windows。 如果要使用RVM,則需要使用cgywin之類的東西,或者在Windows上試用Ubuntu。

另外,您可以嘗試使用Windows本地工具,例如Uru

您可以繼續使用而不使用RVM或任何其他版本管理器,並且如果5.0已經為您順利運行,則升級到5.1不太可能給您帶來任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM