无法安装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并运行bundle install之后无法安装的任何想法?

我确实让服务器在某一点运行(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$ 

今天同样的问题,我从Gemfile中删除了’spring’并且它完成了诀窍。 或者你可以先关闭弹簧并运行rails generate devise:install

好吧,我仍然不能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 

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

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

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

 bundle exec rails g devise:install 

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

对我有用的是:

 $ sudo -s $ bundle exec rails generate devise:install 

没有sudo或运行“初始化程序” /bin/bash --login不起作用。 另一种解决方案可能是删除Gemfile.lock并再次运行bundle install

我通过在我的Gemfile添加以下行来修复它:

 gem 'devise' 

添加该行后,我执行了bundle install

我今天遇到了同样的问题。 我尝试卸载devisewarden但没有运气。 最后我删除了Gemfile.lock并再次运行bundle install ,这就是诀窍。