【发布时间】:2021-08-25 21:40:17
【问题描述】:
我正在尝试使用 Ruby on Rails 启动一个项目,但在生成控制器时遇到了问题。
我按照安装指南进行操作(我花了一天时间尝试在 MacOS 上成功安装)并且能够运行
rails new my-app
一旦我 cd 进入我的应用程序,我就可以
rails s
并在我的 localhost:3000 上打开默认页面。
编辑:编辑以反映使用的正确命令
但是;当我尝试生成新页面时
rails g controller home index
我遇到以下错误:
Traceback (most recent call last):
20: from /Library/Ruby/Gems/2.6.0/gems/spring-2.1.1/bin/spring:49:in `<main>'
19: from /Library/Ruby/Gems/2.6.0/gems/spring-2.1.1/lib/spring/client.rb:30:in `run'
18: from /Library/Ruby/Gems/2.6.0/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call'
17: from /Library/Ruby/Gems/2.6.0/gems/spring-2.1.1/lib/spring/client/server.rb:9:in `call'
16: from /Users/marcoscampos/.rbenv/versions/2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
15: from /Users/marcoscampos/.rbenv/versions/2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
14: from /Library/Ruby/Gems/2.6.0/gems/spring-2.1.1/lib/spring/server.rb:9:in `<top (required)>'
13: from /Users/marcoscampos/.rbenv/versions/2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
12: from /Users/marcoscampos/.rbenv/versions/2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
11: from /Library/Ruby/Gems/2.6.0/gems/spring-2.1.1/lib/spring/commands.rb:4:in `<top (required)>'
10: from /Library/Ruby/Gems/2.6.0/gems/spring-2.1.1/lib/spring/commands.rb:33:in `<module:Spring>'
9: from /Users/marcoscampos/.rbenv/versions/2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
8: from /Users/marcoscampos/.rbenv/versions/2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
7: from /Library/Ruby/Gems/2.6.0/gems/bundler-2.2.26/lib/bundler/setup.rb:20:in `<top (required)>'
6: from /Library/Ruby/Gems/2.6.0/gems/bundler-2.2.26/lib/bundler/ui/shell.rb:88:in `silence'
5: from /Library/Ruby/Gems/2.6.0/gems/bundler-2.2.26/lib/bundler/ui/shell.rb:136:in `with_level'
4: from /Library/Ruby/Gems/2.6.0/gems/bundler-2.2.26/lib/bundler/setup.rb:20:in `block in <top (required)>'
3: from /Library/Ruby/Gems/2.6.0/gems/bundler-2.2.26/lib/bundler.rb:149:in `setup'
2: from /Library/Ruby/Gems/2.6.0/gems/bundler-2.2.26/lib/bundler/runtime.rb:18:in `setup'
1: from /Library/Ruby/Gems/2.6.0/gems/bundler-2.2.26/lib/bundler/definition.rb:228:in `specs_for'
/Library/Ruby/Gems/2.6.0/gems/bundler-2.2.26/lib/bundler/definition.rb:490:in `materialize': Could not find sqlite3-1.4.2, puma-5.4.0, bootsnap-1.7.7, byebug-11.1.3, nio4r-2.5.8, msgpack-1.4.2, bindex-0.8.1, nokogiri-1.12.3, websocket-driver-0.7.5, sassc-2.4.0, ffi-1.15.3, racc-1.5.2 in any of the sources (Bundler::GemNotFound)
我的 Gemfile 看起来像这样:
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.6.3'
gem 'rails', '~> 6.1.4', '>= 6.1.4.1'
gem 'sqlite3', '~> 1.4'
gem 'puma', '~> 5.0'
gem 'sass-rails', '>= 6'
gem 'webpacker', '~> 5.0'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.7'
gem 'bootsnap', '>= 1.4.4', require: false
group :development, :test do
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
gem 'web-console', '>= 4.1.0'
gem 'rack-mini-profiler', '~> 2.0'
gem 'listen', '~> 3.3'
gem 'spring'
end
group :test do
gem 'capybara', '>= 3.26'
gem 'selenium-webdriver'
gem 'webdrivers'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
我尝试了几种“解决方案”,但不幸的是,似乎没有任何效果。
有什么建议吗?
使用的安装指南:
https://guides.rubyonrails.org/getting_started.html#starting-up-the-web-server https://tildesites.bowdoin.edu/~mirfan/files/install-rails.pdf
【问题讨论】:
-
错误是您的 gemfile 中的 gem 没有找到。您使用的是 RVM 或 rbenv 之类的东西吗?当你运行
bundle install时会发生什么? -
@melcher 我收到以下成功消息
Bundle complete! 17 Gemfile dependencies, 74 gems now installed. Use bundle info [gemname] to see where a bundled gem is installed.但rails g命令仍然失败。我正在使用 rbenv -
74 gems now installed表示宝石最初不存在,但现在存在。你能看看rails g错误是否相同/如果不同,请再次发布? -
rails g错误即使在运行bundle install后仍然与原始帖子相同,如果我再次尝试会出现相同的成功消息 -
您正在尝试使用
rails g home index命令吗?不会是rails g controller home index吗?
标签: ruby-on-rails ruby controller rubygems