2012-11-21 13 views
26

Próbuję zrobić "rake db: migrate" i daje mi ten błąd.prowizja została przerwana! Już aktywowałeś prowizję 10.0.2, ale twój Gemfile wymaga prowizji 0.9.2.2

Andy:AcademyAir Andy$ rake db:migrate 
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/runtime.rb:197: warning: Insecure world writable dir /usr in PATH, mode 040777 
rake aborted! 
You have already activated rake 10.0.2, but your Gemfile requires rake 0.9.2.2. Using bundle exec may solve this. 
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/runtime.rb:31:in `block in setup' 
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/runtime.rb:17:in `setup' 
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler.rb:116:in `setup' 
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/setup.rb:7:in `<top (required)>' 
/Users/Andy/Desktop/AcademyAir/config/boot.rb:6:in `<top (required)>' 
/Users/Andy/Desktop/AcademyAir/config/application.rb:1:in `<top (required)>' 
/Users/Andy/Desktop/AcademyAir/Rakefile:5:in `<top (required)>' 
(See full trace by running task with --trace) 
+0

Get spojrzeć na [LINK] [1]. Może rozwiązać problem. [1]: http://stackoverflow.com/questions/13400587/activated-ruby-rake-10-0-1-require-10-0-0/13418530#13418530 – adcosta

+0

możliwe duplikat [ Już aktywowałeś prowizję 0.9.0, ale twój Gemfile wymaga rake 0.8.7] (http://stackoverflow.com/questions/6080040/you-mod-already-activated-rake-0-9-0-but-your -gemfile-requires-rake-0-8-7) – user456584

Odpowiedz

48

Spróbuj bundle exec rake db:migrate

Usuń grabie 10.0.2 gem

Korzystając gem uninstall rake i usunąć 10.0.2 wersję natarcia gem

a następnie spróbuj rake db:migrate

Dlaczego Błąd c OMES: w was listy gem dwie wersje (10.0.2 i 0.9.2.2) z natarcia gem zainstalować tak, że ten błąd pochodzi *

Innym rozwiązaniem jest można zrobić bundle update

+0

Nie działa Próbowałem również – Andy

+0

'' 'bundle exec rake db: migrate /Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/ bundler-1.2.2/lib/bundler/runtime.rb: 197: warning: Niepewny na świecie katalog dir/usr w PATH, tryb 040777 /Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/ bundler-1.2.2/lib/bundler/runtime.rb: 197: warning: Niepewny świat do zapisu d ir/usr w PATH, tryb 040777''' – Andy

+0

Aktualizuję swój kod wypróbuję, że –

3

Właśnie wpadł. ten sam problem.

  1. włożeniu w moim gemfilen gem 'natarcia', '~> 10.0.1' [w danym przypadku należy '10 .0.2' ]
  2. Usunąłem My gemfile zablokować
  3. Pobiegłem grabie db: migracja znowu działała.

mam to wskazówka tutaj: Activated Ruby RAKE 10.0.1, require 10.0.0

Update: W moim przypadku nie mam grabie duplikowane. Mam tylko w swoich klejnotach wersję 10.0.1.

6

udało mi się rozwiązać ten problem poprzez otwarcie Gemfile i zmieniając gem 'rake', '~> 0.9.2.2' do gem 'rake', '~> 10.0.1'

+0

Pracowałem też dla mnie! Dzięki! – danwit

42

Dla mnie, ja po prostu zabrakło bundle update i wszystko działa jeszcze raz w prawo.

+4

To również zadziałało dla mnie – Neikos

+0

Ale to również zaktualizuje inne klejnoty, więc praca nad tym będzie polegała na zmianie wersji rake w Gemfile.lock z 0.9.2.2 na 10.0.1, a następnie uruchom polecenie pakowania. – Sivan

+3

W szczególności, 'aktualizacja aktualizacji pakietu' – user456584

4

W swojej Gemfile, jawnie ustawić ostatnią wersję natarcia przez:

gem 'rake', '~> 10.0.1' 

A następnie uruchomić

$ bundle update rake 

Następnie spróbuj

+1

należy najpierw usunąć plik Gemfile.lock i ponownie zainstalować pakiet, a następnie użyć rake db: migrate –

0

zmienić wersję, która znajduje się zarówno w gemfile i gemlock do numeru wersji wyświetlanego w konsoli, zostanie wykonane

2

rozwiązać ten sam problem przez wykonanie:

bundle update 

ten zaktualizuje natarcia gem do najnowszej wersji i pozwala uruchomić migrację.

Jeśli korzystasz z gemset: po aktualizacji prowizji musisz uruchomić bundle install, aby zaktualizować lokalny zestaw gem.

1

Zdarza się, ponieważ używasz rake z systemu. (Najnowsza wersja domyślnie) Rozwiązaniem jest użycie polecenia obserwacji:

bundle exec rake db:migrate 

Ponadto, można utworzyć alias. Ponieważ to polecenie jest za duże i trudne do napisania.

echo "alias be='bundle exec'" >> ~/.bash_profile 
source ~/.bash_profile 

Następnie można użyć śledzić krótkie polecenie:

be rake db:migrate 
Powiązane problemy