Не получается запустить домашнюю версию ruby ​​2.6.0 - всегда ссылается на системный ruby ​​2.3.0 - PullRequest
0 голосов
/ 19 марта 2019

Это ситуация: я использую Mac OS Mojave 10.14.3 - Кажется, что система работает под управлением ruby ​​v2.3.0 и установила homebrew ruby ​​2.6.x, когда я пытаюсь запустить sass, я получаю следующую ошибку:

> Sass is watching for changes. Press Ctrl-C to stop.
Gem::MissingSpecError: Could not find 'ffi' (>= 0.5.0, < 2) among 20 total gem(s)
Checked in 'GEM_PATH=/Users/samuellarcher/.gem/ruby/2.3.0:/Library/Ruby/Gems/2.3.0:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0', execute `gem env` for more information

Запуск gem env возвращает:

> RubyGems Environment:
  - RUBYGEMS VERSION: 3.0.3
  - RUBY VERSION: 2.6.2 (2019-03-13 patchlevel 47) [x86_64-darwin18]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.6.0
  - USER INSTALLATION DIRECTORY: /Users/samuellarcher/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/2.6.0/bin
  - SPEC CACHE DIRECTORY: /Users/samuellarcher/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/2.6.2/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-18
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/2.6.0
     - /Users/samuellarcher/.gem/ruby/2.6.0
     - /usr/local/Cellar/ruby/2.6.2/lib/ruby/gems/2.6.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/opt/ruby/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin

Теперь, когда я делаю:

whereis ruby

возвращает:

/usr/bin/ruby

и

echo $PATH

возвращает

/usr/local/opt/ruby/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Кроме того, приоритет пути в / private / etc / paths установлен на:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

что мне кажется правильным. Файл .bash_profile содержит:

export PATH="/usr/local/opt/ruby/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/ruby/lib"
export CPPFLAGS="-I/usr/local/opt/ruby/include"

Проверка каталогов gem:

ls /usr/local/lib/ruby/gems/2.6.0/gems/

возвращает

ffi-1.10.0      rb-fsevent-0.10.3   rb-inotify-0.10.0   sass-3.7.3      sass-listen-4.0.0   test-unit-3.3.0

с пропавшим драгоценным камнем, к которому мы стремимся.

ls .gem/ruby/2.3.0/cache/

возвращает

CFPropertyList-3.0.0.gem        faraday-cookie_jar-0.0.6.gem        mini_magick-4.5.1.gem           simctl-1.6.5.gem
addressable-2.6.0.gem           faraday_middleware-0.13.1.gem       multi_json-1.13.1.gem           slack-notifier-2.3.2.gem
atomos-0.1.3.gem            fastimage-2.1.5.gem         multi_xml-0.6.0.gem         terminal-notifier-1.8.0.gem
babosa-1.0.2.gem            fastlane-2.117.1.gem            multipart-post-2.0.0.gem        terminal-table-1.8.0.gem
bundler-2.0.1.gem           gh_inspector-1.1.3.gem          nanaimo-0.2.6.gem           tty-cursor-0.6.1.gem
claide-1.0.2.gem            google-api-client-0.23.9.gem        naturally-2.2.0.gem         tty-screen-0.6.5.gem
colored-1.2.gem             google-cloud-core-1.3.0.gem     os-1.0.0.gem                tty-spinner-0.9.0.gem
colored2-3.1.2.gem          google-cloud-env-1.0.5.gem      plist-3.5.0.gem             uber-0.1.0.gem
commander-fastlane-4.4.6.gem        google-cloud-storage-1.16.0.gem     public_suffix-2.0.5.gem         unf-0.1.4.gem
declarative-0.0.10.gem          googleauth-0.6.7.gem            representable-3.0.4.gem         unf_ext-0.0.7.5.gem
declarative-option-0.1.0.gem        highline-1.7.10.gem         retriable-3.1.2.gem         unicode-display_width-1.5.0.gem
digest-crc-0.4.1.gem            http-cookie-1.0.3.gem           rouge-2.0.7.gem             word_wrap-1.0.0.gem
domain_name-0.5.20180417.gem        httpclient-2.8.3.gem            rubygems-update-3.0.2.gem       xcode-install-2.3.0.gem
dotenv-2.7.1.gem            jwt-2.1.0.gem               rubygems-update-3.0.3.gem       xcodeproj-1.8.1.gem
emoji_regex-1.0.1.gem           memoist-0.16.0.gem          rubyzip-1.2.2.gem           xcpretty-0.3.0.gem
excon-0.62.0.gem            mime-types-3.2.2.gem            security-0.1.3.gem          xcpretty-travis-formatter-1.0.0.gem
faraday-0.15.4.gem          mime-types-data-3.2018.0812.gem     signet-0.11.0.gem

без пропавших без вести ffi gem

Я мог бы пропустить что-то фундаментальное, но в идеале мне хотелось бы, чтобы при запуске sass запускалась версия 2.06x для доморощенного рубина. Так откуда же?


По предложению М. Зиновского я удалил доморощенный рубин и установил rbenv через доморощенный. Я следовал инструкциям добавил

eval "$(rbenv init -)"

to .bash_profile - проверьте, что установка прошла нормально.

SamuelserBook15:~ samuellarcher$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
Checking for `rbenv' in PATH: /usr/local/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /usr/local/bin/rbenv-install (ruby-build 20190314)
Counting installed Ruby versions: 2 versions
Checking RubyGems settings: OK
Auditing installed plugins: OK

Локальная и глобальная версия установлена ​​на недавно установленную rbenv 2.6.2

samuellarcher$ rbenv version
2.6.2 (set by /Users/samuellarcher/.ruby-version)

samuellarcher$ ruby -v
ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin18]

Однако - когда я запустил sass - та же самая старая ошибка - все еще ссылается на 2.3.0 и ffi gem отсутствует. Итак ... абсолютно min-bobbeling .. 2.6.2 работает, почему он по-прежнему указывает на файлы gem 2.3.0 ???

...