1

私はRuby on Railsでスプリーコマースに取り組んでいます。しかし、このコマンド「bundle exec rails g spree_fancy:install」を実行すると、エラーが発生します。私が間違っていることは何ですか?私を助けてください。前もって感謝します。

これが私のエラーです:

 moududhassan@moududhassan-HP-ProBook-450-G1:~/SpreeProject/banglashop$ bundle exec rails g spree_fancy:install
      append  vendor/assets/javascripts/spree/frontend/all.js
      insert  vendor/assets/stylesheets/spree/frontend/all.css
         run  bundle exec rake railties:install:migrations FROM=spree_fancy from "."
Would you like to run the migrations now? [Y/n] n
Skipping rake db:migrate, don't forget to run it!
moududhassan@moududhassan-HP-ProBook-450-G1:~/SpreeProject/banglashop$ bundle exec rake db:migrate
[WARNING] You are not setting Devise.secret_key within your application!
You must set this in config/initializers/devise.rb. Here's an example:

Devise.secret_key = "ccbb0e6f45b7b7e4eea82ab3f24dab317816ad6b7bf3a2cd10b0879b52bbbfb83d0b2be34cdffb19672ada6fb8aa2d91f142"
== 20150214044609 AddSliderTaxonsAndApplyThem: migrating ======================
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::UndefinedTable: ERROR:  relation "spree_taxonomy_translations" does not exist
LINE 5:                WHERE a.attrelid = '"spree_taxonomy_translati...
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"spree_taxonomy_translations"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum
/home/moududhassan/SpreeProject/banglashop/db/migrate/20150214044609_add_slider_taxons_and_apply_them.spree_fancy.rb:4:in `up'
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "spree_taxonomy_translations" does not exist
LINE 5:                WHERE a.attrelid = '"spree_taxonomy_translati...
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"spree_taxonomy_translations"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum
/home/moududhassan/SpreeProject/banglashop/db/migrate/20150214044609_add_slider_taxons_and_apply_them.spree_fancy.rb:4:in `up'
PG::UndefinedTable: ERROR:  relation "spree_taxonomy_translations" does not exist
LINE 5:                WHERE a.attrelid = '"spree_taxonomy_translati...
                                          ^
/home/moududhassan/SpreeProject/banglashop/db/migrate/20150214044609_add_slider_taxons_and_apply_them.spree_fancy.rb:4:in `up'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

私の宝石ファイルは次のとおりです。

gem 'rails', '4.1.8'
   gem 'pg'
   gem 'sass-rails', '~> 4.0.3'
   gem 'uglifier', '>= 1.3.0'
   gem 'coffee-rails', '~> 4.0.0'
   gem 'jquery-rails'
   gem 'turbolinks'
   gem 'jbuilder', '~> 2.0'
   gem 'sdoc', '~> 0.4.0',          group: :doc
   gem 'spring',        group: :development
gem 'spree', git: 'https://github.com/spree/spree.git', branch: '2-4-stable'
gem 'spree_gateway', github: 'spree/spree_gateway', branch: '2-4-stable'
gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: '2-4-stable'
gem 'spree_paypal_express', github: 'spree-contrib/better_spree_paypal_express', branch: '2-4-stable'
gem 'spree_i18n', github: 'spree-contrib/spree_i18n', branch: '2-4-stable'
gem 'spree_static_content', github: 'spree-contrib/spree_static_content', branch: '2-4-stable'
gem 'spree_fancy', :github => 'spree/spree_fancy', :branch => '2-4-stable'
gem 'spree_mail_settings', github: 'spree-contrib/spree_mail_settings', branch: '2-4-stable'

私のdatabase.ymlは次のとおりです。

default: &default
adapter: postgresql
encoding: unicode
database: hairdom_test
port: 5432
host: localhost


pool: 5
  username: postgres
  password: 007rajob
  development:
  <<: *default
  database: hairdom_test
  test:
  <<: *default
  database: hairdom_test

  production:
  <<: *default
  database: hairdom_test

このプロジェクトをローカル ホストで実行すると、次のように表示されます。

ここに画像の説明を入力

4

1 に答える 1

1

bundle exec rails g spree_fancy:installあなたが抱えているエラーは、spree_i18n 移行が最初に実行されなかったためです。これは、エラー メッセージが変換テーブルを参照しているためです。

spree_i18n が他よりも前に実行されるように、移行が実行しようとしている順序を修正するか、移行を実行するまで、Gemfile から spree_i18n をコメントアウトする必要があります。

localhost:3000 にアクセスしたときに表示されるエラー メッセージは、保留中の移行エラーであり、実行するには実行する必要があることが示さrake db:migrateれています。rake railties:install:migrations状況によっては、実行する前rake db:migrateに、すべての拡張機能の移行がアプリケーションにコピーされていることを確認する必要がある場合もあります。

于 2015-02-18T15:22:36.347 に答える