我正在尝试通过 ruby gem 安装 iStats。
首先我运行以下命令:
xcode-select --install
输出为:
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
. 所以没关系。
然后我跑了:
sudo gem install iStats
输出为:
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
我不确定这一切意味着什么,但我知道它不起作用。所以我尝试使用以下命令安装 ruby:
brew install ruby
,它似乎发挥了作用。
然后我再次尝试该sudo gem
命令,但得到的是与上面相同的输出。
这里出了什么问题?
编辑:
我刚刚读https://stackoverflow.com/a/26600110/6678549并尝试了这个:
sudo gem update --system
并得到以下输出:
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
所以它几乎成功了,但我仍然没有接近安装 iStats。
编辑2:
我的 ruby 版本是,ruby 2.3.7p456
以防万一它相关,我使用的是 MacOS Sierra。我读了一些书,找到了有关系统完整性保护的信息。我尝试了一些其他命令,例如sudo gem install iStats -n /usr/local/bin, but still nothing works. Although after running
sudo gem update --system`,现在它显示最新版本已安装。
答案1
我已经做了!
我不确定我到底做对了什么,但我使用了这两个命令:
export LDFLAGS="-L/usr/local/opt/ruby/lib"
export CPPFLAGS="-I/usr/local/opt/ruby/include"
然后我尝试:
sudo gem install iStats
和
sudo gem install iStats -n /usr/local/bin
现在我已经成功安装了iStats 1.6.1。
但奇怪的是,我之前使用过这两个export
命令,但它们并没有起作用。所以在此期间一定发生了一些变化,我不知道是什么。