【问题标题】:Rails generate failsRails 生成失败
【发布时间】: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


【解决方案1】:

问题是在安装过程中出现了错误配置(可能是由于尝试了在 Rails 上安装 ruby​​ 的不同方法),但我设法通过使用以下命令设置 gems 安装的正确路径来解决上述问题

bundle config set path 'vendor/cache'

【讨论】:

    猜你喜欢
    • 2014-04-12
    • 2014-04-13
    • 2020-02-09
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    相关资源
    最近更新 更多