5

これらの手順に従って、Google で oauth2 を追加しようとしています。

サーバーの起動中に次のエラー メッセージが表示されます。

Exiting
You've tried to invoke Spring when it's already loaded (i.e. the Spring constant is defined).

This is probably because you generated binstubs with Spring 1.0, and you now have a Spring version > 1.0 on your system. To solve this, upgrade your bundle to the latest Spring version and then run `bundle exec spring binstub --all` to regenerate your binstubs. This is a one-time step necessary to upgrade from 1.0 to 1.1.

Here's the backtrace:

/Users/omonia/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:287:in `load'
/Users/omonia/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:287:in `block in load'
/Users/omonia/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:259:in `load_dependency'
/Users/omonia/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:287:in `load'
/Users/omonia/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.7.2/lib/spring/binstub.rb:11:in `<top (required)>'
/Users/omonia/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:133:in `require'
/Users/omonia/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:133:in `rescue in require'
/Users/omonia/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
/Users/omonia/Dropbox/MyApp/bin/spring:13:in `<top (required)>'

関連する gem がインストールされています。

gem 'google-api-client', '0.9'
gem 'omniauth'
gem 'omniauth-google_oauth2'

次のコードが追加されますconfig/initializers/omniauth.rb:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :google_oauth2, 'my Google client id', 'my Google client secret', {client_options: {ssl: {ca_file: Rails.root.join("cacert.pem").to_s}}}
end

ここで何が起こっているのですか?エラーの指示に従っても何も変わりません (Spring は最新バージョン 1.7.2 であり、実行するとbundle exec spring binstub --all「Spring already present」のみが返されます)。

4

6 に答える 6

0

これは私のために働いたものです -

これをコンソールで実行しました-rake rails:update:bin

それから私は走ったbundle exec spring binstub --all

これがすべての人に有効であることを保証するものではありません。

ありがとう :)

于 2017-10-17T14:54:56.173 に答える
0

まず第一に、私は Ruby On Rails の専門家ではないので、以下の手順で間違っていることがあれば訂正してください。

私のために働いた手順は以下のとおりです。

MacOS ターミナルから次のコマンドを実行します。

bin/spring binstub --remove --all

** Vender の下の Your Cache フォルダを削除します (Finder を使用)

バンドルのインストール。

Rails アセット:プリコンパイル

于 2020-04-29T07:50:07.850 に答える