简体   繁体   English

Ruby on Rails-Lynda-生成控制器和视图,“ Rails Generate”命令出错

[英]Ruby on Rails - Lynda - Generating a Controller and View, Error on 'Rails Generate' Command

I'm new to Ruby on Rails and was following Lynda's Ruby on Rails essential training guide videos. 我是Ruby on Rails的新手,并且正在关注Lynda的Ruby on Rails基本培训指南视频。

In the getting started set of videos, we are shown how the 'rails generator' command works. 在入门视频中,我们展示了“ rails generator”命令的工作方式。 I have followed all the steps, but every time I type in '$ rails generate' I get the following error: 我已经按照所有步骤进行操作,但是每次输入“ $ rails generate”时,都会出现以下错误:

Warning: You're using Rubygems 2.0.14 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine --all` for better startup performance.
/Users/waleedrahamtullah/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler/setup (LoadError)
    from /Users/waleedrahamtullah/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/commands.rb:33:in `<module:Spring>'
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/commands.rb:4:in `<top (required)>'
    from /Users/waleedrahamtullah/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/waleedrahamtullah/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/application.rb:77:in `preload'
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/application.rb:140:in `serve'
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/application.rb:128:in `block in run'
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/application.rb:122:in `loop'
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/application.rb:122:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/application/boot.rb:18:in `<top (required)>'
    from /Users/waleedrahamtullah/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/waleedrahamtullah/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'

How do you suppose I get around this? 你认为我如何解决这个问题?

The answer is in the Error: 答案在错误中:

You're using Rubygems 2.0.14 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine --all`

Update with this: 更新:

gem install rubygems-update

Then run: 然后运行:

gem pristine --all

All should be well. 一切都应该很好。

When I update 当我更新

gem install rubygems-update

and then 接着

 gem pristine --all

it didn't work for me. 它对我不起作用。

But answer from How to upgrade rubygems helped to fix issue, but after that for some reason I had to install rails again and install all gems. 但是如何升级rubygems的答案有助于解决问题,但是在那之后,由于某种原因,我不得不再次安装rails并安装所有gems。

Install rubygems-update 安装rubygems-update

gem install rubygems-update
update_rubygems
gem update --system

run this commands as root or use sudo. 以root身份运行此命令或使用sudo。

I am using ruby with rbenv so I could run those as normal user. 我在rbenv中使用ruby,所以我可以以普通用户身份运行它们。 However, generating new rails site 但是,生成新的Rails网站

rails new blog

Shows warning about old rubygems. 显示有关旧红宝石的警告。

    Warning: You're using Rubygems 2.0.14 with Spring.

Hmm. Checking the environment: 检查环境:

    gem env

shows 表演

    RubyGems Environment:
      - RUBYGEMS VERSION: 2.0.14

which is no good. 不好 As suggested on the internets I run: 按照互联网上的建议,我运行:

gem install rubygems-update
gem pristine --all
update_rubygems

I am not sure if gem pristine --all was needed, but it can't harm anything. 我不确定是否需要宝石原始的东西,但都不会损害任何东西。 Checking the update status now 立即检查更新状态

    gem env

shows 表演

    RubyGems Environment:
      - RUBYGEMS VERSION: 2.4.6

which is good. 很好 Calling 呼唤

rails new blog

and everything went ok. 一切顺利。 No warning at all. 完全没有警告。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM