我是ruby和rails的新手,我在生成控制器方面遇到了问题。
某些背景信息:
$ rails -v
Rails 4.1.1
正确创建了应用:
$ rails new test_app
create
create README.rdoc
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
[...]
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
run bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted
服务器运行良好:
$ rails server
=> Booting WEBrick
=> Rails 4.1.1 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
[2014-06-07 11:12:20] INFO WEBrick 1.3.1
[2014-06-07 11:12:20] INFO ruby 1.9.3 (2014-02-24) [x86_64-cygwin]
[2014-06-07 11:12:20] INFO WEBrick::HTTPServer#start: pid=3340 port=3000
我可以浏览默认页面,但是当我尝试进入下一步时,它失败了:
$ rails generate controller welcome index
没有任何反应,也没有生成文件。根本没有输出,所以我不知道应该在哪里解决这个问题。
我已经尝试过创建一个全新的应用并重新安装rails,但这没有用。
答案 0 :(得分:30)
尝试运行
spring stop
rails generate可能无效,因为spring已在运行。
答案 1 :(得分:1)
尝试运行rails generate controller Users new
时,我在Windows计算机上遇到了同样的问题。
首先,确保弹簧没有运转。使用spring stop
如果它没有帮助那么:
gem 'spring'
and gem 'spring-watcher-listen', '~> 2.0.0'
bundle update
答案 2 :(得分:0)
我运行了spring stop
,它说它没有运行。
然后我做了一个bundle install
,现在可以了。
答案 3 :(得分:0)
我正在使用rails 6,也为我工作。
答案 4 :(得分:0)
确保您位于正确的文件夹中,而不是环境中,例如~/environment/railsproject
。
我得到了错误,我忘记了cd railsproject
。
'spring'和'spring-watcher-listen'宝石仍然被安装。
答案 5 :(得分:-1)
我遇到了同样的问题。当我用ctl-c中止时,我得到了:
/usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `gets': Interrupt
from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `verify_server_version'
from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/run.rb:25:in `call'
from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/rails.rb:23:in `call'
from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
from /usr/local/rvm/gems/ruby-2.1.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/share/yapo/bin/spring:16:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'
所以我猜这个问题出现在春天的某个地方。我在Gemfile中评论了spring的行,运行了bundle update
并且瞧。希望对你也有用。
也许对ruby有一点经验的人知道这是我/我们配置中的一些问题,还是一个bug?