Rails 4每个命令“`load"的错误:没有nil到String的隐式转换. (Mac OS X 10.9) [英] Rails 4 Error with every command "`load': no implicit conversion of nil into String" (Mac OS X 10.9)
问题描述
我刚刚在运行Mac OS X 10.9 Mavericks的新Macbook上安装了一个全新的Ruby on Rails开发堆栈.
I've just installed a fresh Ruby on Rails dev stack on my new Macbook, which runs Mac OS X 10.9 Mavericks.
这是我的书架:
- Xcode命令行工具
- 自制酒
- Rbenv
- 捆绑包
- Ruby 2.1.0
- 导轨4.1.1
我运行rails new test_app
生成了第一个测试应用.
此命令已成功完成,但是自此以来,我在CLI中尝试的每个Rails命令均会返回此类错误消息:
I ran rails new test_app
to generate a first test app.
This command successfully completed, but since it, every Rails command I try in my CLI returns this kind of error message:
$ test_app > bin/rails server
/Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `load': no implicit conversion of nil into String (TypeError)
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `call'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/me/Documents/[PERSONNEL]/dev/test_app/bin/spring:16:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'
尝试启动控制台时出现相同错误:
Same error while trying to start a console:
$ test_app > bin/rails c
/Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:in `load': no implicit conversion of nil into String (TypeError)
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:in `block in load'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:in `load'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/me/.rbenv/versions/2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from -e:1:in `<main>'
bin/rake
部分起作用(我可以使用bin/rake routes
,但迁移不起作用).
The bin/rake
are working partially (I can use bin/rake routes
but migrations are not working).
我最后一次尝试是安装 XCode ,但是并不能解决问题.
My last try was to install XCode, but it didn't solve it.
更新:下面提到的命令bundle exec rake rails:update:bin
解决了项目的问题,但是需要在每个新问题上执行.
问题似乎更加严重.
UPDATE: the command bundle exec rake rails:update:bin
as mentioned bellow solve the problem for project, but needed to be executed on every new problem.
The problem seems to be deeper.
推荐答案
好的,我找到了解决方案.
OK I found solution.
我也清理了Mac.而且我遇到了同样的错误.
I've cleaned my mac too. and I got same error.
rails_root/bin文件夹不存在吗?
rails_root/bin folder is not there?
尝试以下
bundle exec rake rails:update:bin
这篇关于Rails 4每个命令“`load"的错误:没有nil到String的隐式转换. (Mac OS X 10.9)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!