Masz problem z zainstalowaniem ruby ​​gem na iStats

2

Próbuję zainstalować iStats przez rubinowy klejnot.

Najpierw uruchomiłem polecenie:

xcode-select --install a wyjście było:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates. Więc to było w porządku.

Potem pobiegłem:

sudo gem install iStats

a wyjście było:

Building native extensions.  This could take a while...
ERROR:  Error installing iStats:
ERROR: Failed to build gem native extension.

current directory: /Library/Ruby/Gems/2.3.0/gems/iStats-1.6.1/ext/osx_stats
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteconf20190117-44665-taivle.rb extconf.rb
creating Makefile

current directory: /Library/Ruby/Gems/2.3.0/gems/iStats-1.6.1/ext/osx_stats
make "DESTDIR=" clean

current directory: /Library/Ruby/Gems/2.3.0/gems/iStats-1.6.1/ext/osx_stats
make "DESTDIR="
make: *** No rule to make target `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/universal-darwin16/ruby/config.h', needed by `smc.o'.  Stop.

make failed, exit code 2

Gem files will remain installed in /Library/Ruby/Gems/2.3.0/gems/iStats-1.6.1 for inspection.
Results logged to /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-16/2.3.0/iStats-1.6.1/gem_make.out

Nie wiem, co to wszystko oznacza, ale wiem, że to nie zadziałało. Próbowałem więc zainstalować ruby ​​za pomocą:

brew install ruby, która zdawała się wykonywać swoją pracę.

Następnie spróbowałem sudo gemponownie wykonać komendę, ale otrzymałem takie samo wyjście jak powyżej.

Co tu jest nie tak?

EDYTOWAĆ:

Właśnie przeczytałem https://stackoverflow.com/a/26600110/6678549 i wypróbowałem to:

sudo gem update --system i otrzymałem to wyjście:

Updating rubygems-update
Successfully installed rubygems-update-3.0.2
Parsing documentation for rubygems-update-3.0.2
Installing darkfish documentation for rubygems-update-3.0.2
Done installing documentation for rubygems-update after 108 seconds
Parsing documentation for rubygems-update-3.0.2
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 3.0.2
ERROR:  While executing gem ... (Errno::EPERM)
Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem

Więc prawie zadziałało, ale nadal nie jestem bliżej instalacji iStats.

EDYCJA 2:

Moja rubinowa wersja jest ruby 2.3.7p456na wypadek, gdyby była istotna i używam MacOS Sierra. Zrobiłem trochę czytania i znalazłem informacje o ochronie integralności systemu. Wypróbowałem kilka innych poleceń, takich jak sudo gem install iStats -n /usr/local/bin, but still nothing works. Although after runningsudo gem update --system` teraz mówi, że najnowsza wersja jest już zainstalowana.

AkThao
źródło

Odpowiedzi:

0

Zrobiłem to!

Nie wiem dokładnie, co zrobiłem dobrze, ale użyłem tych dwóch poleceń:

export LDFLAGS="-L/usr/local/opt/ruby/lib"

export CPPFLAGS="-I/usr/local/opt/ruby/include"

Potem spróbowałem:

sudo gem install iStats

i

sudo gem install iStats -n /usr/local/bin

Teraz pomyślnie zainstalowałem iStats 1.6.1.

Dziwne, ale wcześniej użyłem tych dwóch exportpoleceń i nie zrobili tego. Więc coś musiało się w międzyczasie zmienić, nie wiem, co to jest.

AkThao
źródło
1
Zauważ, że zalecam nie mieszać się z systemem Ruby i zamiast tego instalować rbenv: github.com/rbenv/rbenv - to powinno ułatwić ci życie i nie musisz uruchamiać sudoniczego.
slhck
@slhck Dzięki za radę, będę o tym pamiętać w przyszłości.
AkThao