【问题标题】:ruby rvm rails generate scaffold failsruby rvm rails 生成脚手架失败
【发布时间】:2012-03-15 17:26:08
【问题描述】:

我有以下 Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.1'

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

gem 'jquery-rails'

运行 rvm 版本:

$ rvm --version

rvm 1.10.2 by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.beginrescueend.com/]

生成脚手架失败:

$ rvm all do rails generate scaffold User name:string email:string
(in /home/user/.rvm/gems/ruby-1.9.3-p0/gems/rails-0.9.5)
WARNING: 'require 'rake/rdoctask'' is deprecated.  Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
at /home/user/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
rake/gempackagetask is deprecated.  Use rubygems/package_task instead

rm -rf /tmp/demo_app/generate
rake aborted!
can't convert nil into String

Tasks: TOP => fresh_gem_rails => make_dir_structure => make_base_dirs
(See full trace by running task with --trace)

(有一点要提一下,目录里没有Rakefile)。

can't convert nil into String 是什么意思? (我尝试将--trace 放到命令行的各个位置,但消息似乎没有改变......)

另外我该如何更正RDoc 警告?

谢谢

【问题讨论】:

标签: ruby-on-rails ruby rake rvm scaffold


【解决方案1】:

/home/user/.rvm/gems/ruby-1.9.3-p0/gems/rails-0.9.5 中的 rails-0.9.5 对我来说听起来很可疑。

您确定您的 Rails 安装没有搞砸吗?

编辑

rvm all 到底是为了什么?我不是 rvm 专家,但据我所知,它似乎对所有已安装的 rubies 都有作用,这肯定不是你想要的。

【讨论】:

  • 好的,我删除了目录 /home/user/.rvm/gems/ruby-1.9.3-p0/gems/rails-0.9.5 现在我看到了:$ rvm all do rails generate scaffold User name:string email:string /home/user/.rvm/gems/ruby-1.9.3-p0/bin/rails:19:in load': 不能从 /home/user/.rvm/gems/ruby- 加载此类文件 -- /home/user/.rvm/gems/ruby-1.9.3-p0/gems/rails-0.9.5/bin/rails (LoadError) 1.9.3-p0/bin/rails:19:in &lt;main&gt;' 不知何故,rails 认为是在 0.9.5 ...
  • @gliptak:不不不,是rvm all 听起来不对,请阅读我的编辑。你为什么用它?你为什么不直接使用rails generate ...
  • /home/user/.rvm/bin 中似乎没有 rails(尽管有 bundle 和 rake 可执行文件)。我正在重新安装 rvm。
  • 我赞同@s.m. 的评论。您不需要执行rvm do,并且~/.rvm/bin 中不应有rails 可执行文件。您只需要在运行 Rails 生成器之前执行 rvm use,所有 Ruby/Rails 命令都将使用正确的 Ruby(如果您指定了一个,则使用 gemset)。
  • 重新安装了 rvm。我可能错过了(重新)运行 $ rvm alias create default ruby​​-1.9.3-p125
猜你喜欢
  • 2011-12-18
  • 2011-10-17
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 2018-12-15
  • 1970-01-01
相关资源
最近更新 更多