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 (wayneeseguin@gmail.com) [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.

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ę.


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.


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

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

Uratowany dzień ... Co to teraz oznacza? :)
ericpeters0n

13

Zrestartuj terminal, a następnie ponownie uruchom polecenie rails


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.


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


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!


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.




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

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ą


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.



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

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.


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


0

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


0

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

source 'https://rubygems.org'
ruby "2.2.3"
#ruby-gemset=rails424

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

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.


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

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"


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.