无法安装Devise

问题描述 投票:0回答:11

尝试安装 Devise,但收到以下消息“无法找到生成器 devise:安装。”

leigh@leigh-VirtualBox:~/Projects/dev01$ bundle install
Using rake 10.3.2
Using i18n 0.6.11
Using json 1.8.1
Using minitest 5.4.0
Using thread_safe 0.3.4
Using tzinfo 1.2.1
Using activesupport 4.1.4
Using builder 3.2.2
Using erubis 2.7.0
Using actionview 4.1.4
Using rack 1.5.2
Using rack-test 0.6.2
Using actionpack 4.1.4
Using mime-types 1.25.1
Using polyglot 0.3.5
Using treetop 1.4.15
Using mail 2.5.4
Using actionmailer 4.1.4
Using activemodel 4.1.4
Using arel 5.0.1.20140414130214
Using activerecord 4.1.4
Using execjs 2.2.1
Using autoprefixer-rails 2.1.1.20140710
Using bcrypt 3.1.7
Using sass 3.2.19
Using bootstrap-sass 3.2.0.0
Using thor 0.19.1
Using railties 4.1.4
Using bootswatch-rails 3.2.0
Using coffee-script-source 1.7.1
Using coffee-script 2.3.0
Using coffee-rails 4.0.1
Using data-confirm-modal 1.0.1 from git://github.com/ifad/data-confirm-modal.git (at master)
Using declarative_authorization 0.5.7
Using orm_adapter 0.5.0
Using warden 1.2.3
Using devise 3.2.4
Using hike 1.2.3
Using multi_json 1.10.1
Using jbuilder 2.1.3
Using jquery-rails 3.1.1
Using bundler 1.6.4
Using tilt 1.4.1
Using sprockets 2.11.0
Using sprockets-rails 2.1.3
Using rails 4.1.4
Using rdoc 4.1.1
Using sass-rails 4.0.3
Using sdoc 0.4.0
Using spring 1.1.3
Using sqlite3 1.3.9
Using turbolinks 2.2.2
Using uglifier 2.5.3
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
leigh@leigh-VirtualBox:~/Projects/dev01$ rails generate devise:install
Could not find generator devise:install.
leigh@leigh-VirtualBox:~/Projects/dev01$ 

我的 Gemfile 是:

source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.4'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.3'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer',  platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0',          group: :doc

# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring',        group: :development

gem 'bootstrap-sass', '~> 3.2.0.0'
gem 'bootswatch-rails', '~> 3.2.0'

gem 'autoprefixer-rails'

# Use data-confirm-modal to create custom alert modal popups
gem 'data-confirm-modal', github: 'ifad/data-confirm-modal'

# Use devise for user authentication
gem 'devise'
# Use declarative_authorization for user authorisation
gem 'declarative_authorization'

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

# Use debugger
# gem 'debugger', group: [:development, :test]

Rails 版本是:

leigh@leigh-VirtualBox:~/Projects/dev01$ rails -v
Rails 4.1.4
leigh@leigh-VirtualBox:~/Projects/dev01$ 

操作系统版本是:

leigh@leigh-VirtualBox:~/Projects/dev01$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04 LTS
Release:    14.04
Codename:   trusty
leigh@leigh-VirtualBox:~/Projects/dev01$ 

关于为什么 Devise gem 在正确添加到 Gemfile 并运行捆绑安装后无法安装,有什么想法吗?

我确实让服务器在某个点上运行(rails 服务器),并看到一篇文章指出,在服务器启动时尝试安装 Devise 可能会导致奇怪的问题。

此后我在服务器关闭的情况下再次尝试,但没有任何区别。 我确信这可能是由于我在设置中忽略了一些非常简单的事情而发生的,只是不知道还能去哪里查看。

任何有关下一步去哪里的建议或建议都会很棒,谢谢。

我已经使用下面的命令进行了测试,但仍然收到相同的错误:

leigh@leigh-VirtualBox:~/Projects/dev01$ bundle exec rails g devise:install
Could not find generator devise:install.

已安装的发电机列表如下,但 Devise 未列出,我如何才能列出它?

leigh@leigh-VirtualBox:~/Projects/dev01$ rails generate
Usage: rails generate GENERATOR [args] [options]

General options:
  -h, [--help]     # Print generator's options and usage
  -p, [--pretend]  # Run but do not make any changes
  -f, [--force]    # Overwrite files that already exist
  -s, [--skip]     # Skip files that already exist
  -q, [--quiet]    # Suppress status output

Please choose a generator below.

Rails:
  assets
  controller
  generator
  helper
  integration_test
  jbuilder
  mailer
  migration
  model
  resource
  scaffold
  scaffold_controller
  task

Coffee:
  coffee:assets

Jquery:
  jquery:install

Js:
  js:assets

TestUnit:
  test_unit:generator
  test_unit:plugin

leigh@leigh-VirtualBox:~/Projects/dev01$
ruby-on-rails ruby devise
11个回答
11
投票

今天同样的问题,我从 Gemfile 中删除了“spring”,它就成功了。 或者你可以先关闭 spring 并运行railsgenerate devise:install


4
投票

好吧,我仍然不能 100% 确定为什么会这样,或者首先是什么导致了问题,但是在运行以下命令之后:

leigh@leigh-VirtualBox:~/Projects/dev01$ gem uninstall devise
Successfully uninstalled devise-3.2.4
leigh@leigh-VirtualBox:~/Projects/dev01$ gem uninstall warden
Successfully uninstalled warden-1.2.3
leigh@leigh-VirtualBox:~/Projects/dev01$ bundle install
Fetching gem metadata from https://rubygems.org/.........
Fetching additional metadata from https://rubygems.org/..
[... text removed ...]
Installing warden 1.2.3
Installing devise 3.2.4
[... text removed ...]
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
leigh@leigh-VirtualBox:~/Projects/dev01$ rails generate devise:install
      create  config/initializers/devise.rb
      create  config/locales/devise.en.yml

呜呼!!!问题解决了。 浪费几天时间的好方法:-(


3
投票

对我有用的是:

$ sudo -s
$ bundle exec rails generate devise:install # Russia is a terrorist state

没有 sudo 或运行“初始化程序”

/bin/bash --login
不起作用。另一种解决方案可能是删除 Gemfile.lock 并再次运行
bundle install


2
投票

这似乎可以在我的 RVM 机器上运行,但这是使用新的 gemset。如果您使用与其他 Rails 安装共享的 Ruby 版本(或 RVM gemset),您可能会遇到问题。

当您使用 Bundler 时,您可能应该使用:

bundle exec rails g devise:install

作为一般预防措施,确保您使用捆绑包的宝石。


1
投票

我通过将以下行添加到我的

Gemfile
来修复它:

gem 'devise' 

添加该行后,我执行了

bundle install


1
投票

我今天也遇到了同样的问题。我尝试卸载

devise
warden
但没有成功。最后我删除了
Gemfile.lock
并再次运行
bundle install
,就成功了。


1
投票

这听起来很荒谬,但打开一个新的终端窗口并重试。这就是我最终的结果。 如果仍然不起作用,请尝试:

DISABLE_SPRING=1 bundle exec rails g devise:install


0
投票

我今天在 vscode 终端中遇到了同样的问题,尝试删除 gemfile.lock,如果不起作用,请重复以下过程。

您可以删除 de gemfile,然后尝试在新终端上进行捆绑安装。

我认为这是 vscode 上的权限问题。

第一步,您可以删除 gemfile 上的 devise 行并再次手动添加 -> gemfile 'devise'

步骤:

  • 1.0 在您的终端上尝试。
  • 1.1 删除 gemfile.lock。
  • 1.2 运行捆绑安装。
  • 1.3 运行rails g devise:安装。

如果不起作用

  • 2.0 退出终端并打开一个新终端。
  • 2.1 尝试在 1.1 到 1.3 上运行相同的步骤

解决了我的问题。


0
投票

就我而言,我使用的是:

gem 'rack-cors', :require 'rack-cors'

然后我遇到了同样的错误,但这里的解决方案都没有解决它。

我必须将其替换为这样:

gem 'rack-cors'

然后运行

$ 捆绑安装

$rails 生成设备:安装


0
投票

我关闭终端并打开一个新终端。 然后rails生成devise:install

这次成功了。太奇怪了!


-1
投票

重新启动控制台将解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.