Railsy powtarzają mi, że nie jest obecnie zainstalowane

86

Używam rvmdo zarządzania różnymi rubinami i ich klejnotami. Moja powłoka to zsh z opcją oh-my-zsh skonfigurowaną z podstawowymi ustawieniami. Włączone wtyczki oh-my-zsh to ruby, rails, osx i git. Oto polecenie, którego użyłem do zainstalowania ruby-1.8.7 i rails-3.0.7.

rvm install 1.8.7
rvm use 1.8.7
gem install rails -v=3.0.7

a potem wpisałem railsi otrzymałem:

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

Próbowałem również bardziej dokładnych instalacji, takich jak reinstalacja rubygemspo przejściu na ruby-1.8.7 lub utworzenie zupełnie nowego zestawu gemset, ale bez powodzenia.

Oto informacje o rvm:

ruby-1.8.7-p352@rails:

  system:
    uname:       "Darwin yicai.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64"
    bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
    zsh:         "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"

  rvm:
    version:      "rvm 1.8.6 by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]"

  ruby:
    interpreter:  "ruby"
    version:      "1.8.7"
    date:         "2011-06-30"
    platform:     "i686-darwin10.8.0"
    patchlevel:   "2011-06-30 patchlevel 352"
    full_version: "ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10.8.0]"

  homes:
    gem:          "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails"
    ruby:         "/Users/nil/.rvm/rubies/ruby-1.8.7-p352"

  binaries:
    ruby:         "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/ruby"
    irb:          "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/irb"
    gem:          "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/gem"
    rake:         "/Users/nil/.rvm/bin/rake"

  environment:
    PATH:         "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails/bin:/Users/nil/.rvm/gems/ruby-1.8.7-p352@global/bin:/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin:/Users/nil/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/sbin"
    GEM_HOME:     "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails"
    GEM_PATH:     "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails:/Users/nil/.rvm/gems/ruby-1.8.7-p352@global"
    MY_RUBY_HOME: "/Users/nil/.rvm/rubies/ruby-1.8.7-p352"
    IRBRC:        "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/.irbrc"
    RUBYOPT:      ""
    gemset:       "rails"

a najnowsza wersja gem to 1.8.10.

zero
źródło

Odpowiedzi:

92

Miałem dzisiaj ten problem. Niezupełnie związane z Twoim pytaniem, ale ponieważ ta strona pojawia się w Google, kiedy wyszukuję hasło „Railsy nie są obecnie zainstalowane w tym systemie” , pomyślałem, że dodam swoją odpowiedź:

Stało się tak, że przez jakiś czas używałem Ruby 1.9.2 z railsami, ale potem musiałem użyć Ruby 1.8.7, aby uruchomić inny skrypt, który znalazłem.

Potem chciałem zmienić system z powrotem na 1.9.2 i tak się zaczął problem:

$ rvm list

=> ruby-1.8.7-p352 [ x86_64 ]
ruby-1.9.2-p290 [ x86_64 ]


$ rvm use 1.9.2

Myślałem, że to wystarczy. Ale nie, to daje mi komunikat „Railsy nie są obecnie zainstalowane w tym systemie” .

Zapomniałem, że skonfigurowałem szyny przy użyciu zestawu rvm. Musiałem więc określić poprawny zestaw gemset, kiedy wybierałem wersję ruby, która ma być aktywna.

$ rvm gemset list_all


gemsets for ruby-1.8.7-p352 (found in /Users/asgeo1/.rvm/gems/ruby-1.8.7-p352)
global


gemsets for ruby-1.9.2-p290 (found in /Users/asgeo1/.rvm/gems/ruby-1.9.2-p290)
global
rails31


$ rvm use ruby-1.9.2-p290@rails31

To załatwiło sprawę.

asgeo1
źródło
Pracowałem również dla mnie, mimo że miałem zainstalowaną tylko jedną wersję. Był ustawiony jako domyślny, ale z jakiegoś powodu nie został ustawiony jako bieżący.
hcarreras
Dzięki - po aktualizacji Rubiego z 2.2.1 do 2.2.3 zacząłem otrzymywać ten błąd. rvm używając ruby-2.2.1 sprawiło, że szyny znów były szczęśliwe.
slocumro
110

Jeśli uruchamiasz polecenie rails natychmiast po zainstalowaniu rails , będziesz musiał zrestartować terminal, zanim Twoje polecenia zostaną rozpoznane.

Kyle Clegg
źródło
17
doh! Cóż, jest 15 minut mojego życia, z których nigdy nie wrócę. dzięki.
Adam Waite
Dzięki ... to powinno być na topie. głupi błąd, który wszyscy popełniają.
Shashwat Kumar
Pracował dla mnie. Ale dlaczego?
Akash Agarwal
@AkashAggarwal, ponieważ to wykonuje skrypt rvm, który pozwala na rozpoznanie poleceń rails (krok, który prawdopodobnie został dodany do twojego .bash_profile podczas instalacji). Alternatywnie możesz zrobić to, co zasugerował Dhaulagiri, aby przeładować bieżącą powłokę.
Kyle Clegg
To jest poprawna odpowiedź. Po prostu uruchom ponownie terminal.
spójrz z
30

Mac OS X, rbenv i rails

Otrzymałem dokładnie ten sam problem, ale rbenvraczej z niż rvm. Po zweryfikowaniu poprawności .bash_profile.

.bash_profile

export PATH="$HOME/.rbenv/bin:/usr/local/bin:$PATH"

eval "$(rbenv init -)"

Uruchom ponownie powłokę

exec $SHELL -l

Sprawdź ścieżkę

echo $PATH

Wreszcie

Wielokrotnie instalowałem i odinstalowałem railsy, ​​ale nigdy nie zostały one umieszczone w katalogu .rbenv / bin po ponownym haszowaniu rbenv. W końcu zrobiłem find . -name railsi odinstalowałem każdy klejnot, który został zwrócony i odinstalowałem szyny. Następnie:

$ gem install rails
$ rbenv rehash

$ which rails
/Users/palmerc/.rbenv/shims/rails
Cameron Lowell Palmer
źródło
28

Miałem ten sam problem i stwierdziłem, że RVM nie wyświetlał się jako zainstalowany, gdy próbowałem użyć polecenia rvm. Aby rozwiązać oba problemy, wystarczyło uruchomić to polecenie w terminalu

$ source ~/.rvm/scripts/rvm
Dhaulagiri
źródło
Uratowany dzień ... Co to teraz oznacza? :)
ericpeters0n
13

Zrestartuj terminal, a następnie ponownie uruchom polecenie rails

Palermo Andre Deschamps
źródło
1
Wow, czuję się taki głupi, to też zadziałało! Czasami przemyślenie nie jest właściwą drogą :)
Andrea
Używam Linuksa i to działa. czuje się jak przy korzystaniu z okien: D
Esgi Dendyanri
11

Railsy nie zgłaszają, że nie są zainstalowane. Twój system Debian mówi, że railsy nie są zainstalowane. Jedną z rzeczy w rvm jest to, że opiera się na skomplikowanych skryptach powłoki bash i czasami trzeba uruchomić nową powłokę, aby pojawiły się zmiany. Powinieneś również upewnić się, że poprawne polecenia powłoki rvm zostały dodane do twojego pliku .zshrc. Sprawdź również swoją ścieżkę, aby upewnić się, że ścieżka ~ / .rvm / gems / ... jest dołączona.

David Nehme
źródło
1
To było to dla mnie, po prostu musiałem wycofać się z folderu i z powrotem, aby ponownie uruchomić konsolę railsów. Problem z pozostawieniem otwartych okien terminala przez kilka dni ...
toxaq
To było to również dla mnie. Nigdy nie myślałem o zamknięciu okna terminala i ponownym otwarciu. Kiedy już to zrobiłem po uaktualnieniu Rubiego, wszystko działało zgodnie z oczekiwaniami.
MikeH,
9

Natknąłem się na ten problem przy użyciu rbenv. Okazało się, gem install railsże faktycznie zainstalował Railsy, ​​ale railsnie został rozpoznany jako plik wykonywalny. Rozwiązaniem było dla mnie bieganie rbenv rehash.

Znalazłem tę poprawkę i więcej szczegółów na temat konfiguracji Rails 5 na https://gorails.com/setup/osx/10.11-el-capitan

Wilson
źródło
Dla mnie zrobiłem to rmvpo tym, jak już działały rbenv i Rails. Zepsuło wszystko, w tym płytę CD, pakiet i szyny, a teraz dosłownie nie mogę nawet kliknąć prawym przyciskiem myszy na moim gładziku na Macu. Dobre czasy.
Ka Mok
3

Miałem podobny problem, ale z rbenv.

Pierwotnie zainstalowałem Ruby na bash. Potem bawiłem się .bashrc w VIM-u, zepsułem ten plik i zresetowałem go do domyślnych. Robiąc to, nieświadomie usunąłem wyeksportowany plik rbenv $ PATH. Z tego powodu mój terminal nie rozpoznawał już, że mam zainstalowany Ruby.

Ponownie odwiedziłem stronę instalacji Ruby ( https://gorails.com/setup/ubuntu/15.04 ) i próbowałem ponownie ustawić ścieżkę rbenv za pomocą tego polecenia:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

Nie powiodło się.

Na szczęście przesiadłem się już na zsh (z oh-my-zsh) między czasem zepsułem mój .bashrc a chwilą, gdy próbowałem uzyskać dostęp do irb z mojego terminala.

Moje rozwiązanie było utworzyć ścieżkę rbenv za przewodnika instalacji, ale poprzez zastąpienie wszystkich wystąpień .bashrcw .zshrctaki sposób:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc

Mam nadzieję że to pomoże!

Yoonis
źródło
1

Oto, co zrobiłem. Problem zniknął. Stąd chyba problem rozwiązany.

rvm use system

Zmień na rubin systemowy. usuń wszystkie znajdujące się w nim klejnoty za pomocą podanego i wyjaśnionego tutaj polecenia . następnie instaluję od podstaw poszukiwane wersje ruby:

rvm install 1.8.7
rvm install rails -v 3.0.7

następnie bundle install

aby uzyskać więcej szczegółów, może zajść potrzeba zapoznania się z procedurą instalacji gem.

zero
źródło
1

Miałem dzisiaj ten problem. Nie rozwiązałem tego w 100%, ale w nowych zakładkach mogę to zrobić, rvm use 2.5.5a potem rails -vdziała dobrze.

➜  my-repo git:(next_release) ruby -v
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin18]
➜  my-repo git:(next_release) rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.
➜  my-repo git:(next_release) rvm use 2.5.5
Using /Users/amberwilkie/.rvm/gems/ruby-2.5.5
➜  my-repo git:(next_release) rails -v
Could not find rake-12.3.3 in any of the sources
Run `bundle install` to install missing gems.
➜  my-repo git:(next_release) bundle install
Bursztyn
źródło
1

Napotkałem ten problem, ale został on rozwiązany. Używam macOS, nie używam rvm, używam tylko HomeBrew, najpierw używam, gem envaby uzyskać katalog instalacyjny wszystkich klejnotów, mój to:

$ gem env
RubyGems Environment:
   -RUBYGEMS VERSION: 3.1.2
   -RUBY VERSION: 2.7.1 (2020-03-31 patchlevel 83) [x86_64-darwin19]
   -INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.7.0
   -USER INSTALLATION DIRECTORY: /Users/myname/.gem/ruby/2.7.0
...

Następnie spróbuj przejść do /usr/local/lib/ruby/gems/2.7.0katalogu plików wykonywalnych zainstalowanego klejnotu railsów, na przykład:, /usr/local/lib/ruby/gems/2.7.0/binnastępnie dodaj do ścieżki zmienną środowiskową

Trump_Cute
źródło
0

Miałem ten sam problem, ale powyższe rozwiązanie nie pomogło.

To był mój scenariusz

rvm list

=> ree-1.8.7-2012.02 [ i686 ]
   ruby-1.9.3-p125 [ x86_64 ]

which ruby
  /Users/dev/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby
which rails
  /usr/bin/rails
gem list --local
  ..
  rails (3.2.8)
  rails2_asset_pipeline (0.1.20)
  railties (3.2.8)
  ..

rvm use ruby-1.9.3-p125
which ruby
  /Users/dev/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
which rails
  /Users/dev/.rvm/gems/ruby-1.9.3-p125/bin/rails

Po odinstalowaniu szyn i balustrad oraz ponownym zainstalowaniu szyn podczas korzystania z ree mój problem został rozwiązany.

Mam nadzieję, że to pomoże innym w mojej sytuacji, nie jestem pewien, jak się w to znalazłem: S.

mriddle89
źródło
0

Po prostu miałem ten sam problem i nie mogłem znaleźć odpowiedzi. Oto co zrobiłem:

znajdź aktualną ścieżkę szyn

$ which rails

zwraca coś takiego: / usr / local / rails

Usuń aktualną wersję :

$ sudo rm -rf /usr/local/rails 

Zainstaluj ponownie szyny

$ sudo gem install rails
im_benton
źródło
1
NIE rób tego dla systemu Mac OS
spodnie,
0

Napotkałem ten sam problem i żadna z udzielonych odpowiedzi nie pomogła, więc pomyślałem, że podzielę się swoim rozwiązaniem na wypadek, gdyby mogło być przydatne dla kogoś innego.

I był aprowizacji z moich .profileand .bashrcplików, a po drodze I pomieszane moje RVM instalacji. Wciąż nie jestem pewien, co zrobiłem, ale naprawa była łatwa. Wystarczyło uruchomić następujące polecenie, które czyści wszystkie ustawienia ścieżki systemowej dla RVM:

rvm get [head|stable] --auto-dotfiles

Zauważ, że jeśli używasz starej wersji RVM, może to zaktualizować twoją konfigurację, która może nie być tym, czego chcesz.

Dan
źródło
0

Możliwym rozwiązaniem jest nieobsługiwanie dwóch różnych plików konfiguracyjnych .bash_profilei.bashrc

Rozwiązanie sugerowane w tym doskonałym poście na temat różnicy między .bash_profilei .bashrcpolega na pobraniu źródła .bashrcz .bash_profilepliku, a następnie wprowadzeniu PATH i typowych ustawień w .bashrc.

Cytat,

dodaj następujące wiersze do .bash_profile:

if [ -f ~/.bashrc ]; then source ~/.bashrc fi

koniec cytatu

osehgol
źródło
0

Miałem ten błąd po aktualizacji Rubiego. Musiałem uruchomić „instalację pakietową”, aby to naprawić.

Josh Hunter
źródło
0

Spróbuj wyraźnie określić gemset w swoim Gemfile:

source 'https://rubygems.org'
ruby "2.2.3"
#ruby-gemset=rails424
yaru
źródło
0

Spróbuj tego:

Musisz zmienić preferencje emulatora terminala, aby zezwolić na powłokę logowania.

Czasami wymagane jest użycie /bin/bash --loginjako polecenia.

$ bin/bash --login
$ rails -v
Magere
źródło
0

Miałem tę wiadomość na moim Macu:

Railsy nie są obecnie zainstalowane w tym systemie. Aby uzyskać najnowszą wersję, po prostu wpisz:

i chodziło o to, że $PATHnie ma racji. System ma przestarzałą wersję szyn ( /usr/bin/ruby). Ścieżka do wybranej wersji ruby ​​( $HOME/.rbenv/versions/2.3.0/bin) musi poprzedzać nieaktualną wersję systemu wzdłuż $PATHvar, jak poniżej:

export PATH="$HOME/.rbenv/versions/2.3.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"

dostosuj go do swojej wersji ruby.

Eliandro
źródło
0

W przypadku systemu MacOS (High Sierra):

Tokaido to system instalacyjny Rails zalecany na stronie przewodnika Rails "Getting Started" dla Mac OS. Ale nie tylko instaluje, ale uruchamia własne skrypty powłoki. Jeśli zaczniesz od tego, co pozyskuje własne środowisko powłoki, a następnie uruchomisz terminal bez uruchamiania z powłoki Tokaido, dzieje się tak, ponieważ polecenie „rails” powraca do oryginalnego kodu systemowego rails na Macu.

W moim przypadku polecenie „which rails” w normalnym terminalu powraca

/usr/bin/rails

Ale po uruchomieniu powłoki Tokaido, `` które szyny '' dają następującą ścieżkę:

/Users/charlesross/.tokaido/Gems/2.2.0/bin/rails
Charles Ross
źródło
0

Nie wiadomo skąd Railsy nie były obecnie zainstalowane, ale naprawiono to rvm use ruby-2.6.0

... i zweryfikowałem moją ścieżkę w .bash_profile export PATH="$PATH:$HOME/.rvm/bin"

Aaron Moreno
źródło
0

Przeglądałem źródło i znalazłem inny komunikat o błędzie, który sugerował użytkownikowi uruchomienie następującego polecenia.

Uruchomiłem polecenie i wszystko teraz działa. Żadna z powyższych sugestii nie zadziałała dla mnie. Uruchom polecenie w nowo utworzonej aplikacji Rails.

gem pristine --all
Clint Gossett
źródło