这些都是经过:
莫名其妙的 rails app 不能用了,rails -v 一查发现不存在。ruby -v 发现是 2.0 的版本。很着急上火,因为很少使用过 rvm 这个 ruby 版本控制器。所以照官网文档。从新安装 ruby,然后发现还是 rail 没有安装,后来决定从新安装 rails。 $ rvm gemset update,可以全部更新 gem。于是我就更新了,rails app 也可以用了。这就是悲剧的开始😢😢😢。
突然,发现 rails 的命令 在编译器根本不动,连 rails -h 都很慢,像🐢。
查找谷歌没答案,stack overflow 找到一条类似问题,没有加🌟的回答,看了一下评论疑似 gem 安装太多的话会让程序变慢。
于是我想到了自动更新 gem 的命令。先尝试更换当前使用的 ruby 版本,使用 rvm default use 2.4.0 但仍然很慢。
于是看官网操作,准备删除所有安装的 gem.不过不明白 empty 和 delete 的区别。
先尝试 empty。用 rvm gemset empty,提示满屏幕的 uninstalled XXX。果然全部删除了,但保留了这个 gemset。但是正常一会,又不行了 rails generate -h 都超慢。
无奈之下祭出大招,rvm remove ruby-2.31 和之前的版本,然后再次 rvm gemset empty.
彻底删除 ruby 再从新安装又报告错误,安装不了。删除 rvm,删除命令:rvm implode(不会很干净,我怕影响后续安装 ruby,还查找方法试图干净删除)。
可是安装完 rvm 后,安装 ruby,还是报告错误❌,此时的我还没有学会仔仔细细的看报错的内容。
看 ruby-china 上的解决办法,各类网页。断断续续花费了 3-4 个小时。
耐心看 log,没有遇到和我完全一样的错误,别人的错误的解决方法不适合我。自己也尝试了别的方法,
比如:网上有说可能是编译的问题,而编译问题一般是 xcode 的问题,尝试 xcode-select --install,没用。
抑郁了。。。
在 ruby-China 上继续浏览相关文章。发现一篇文章提示,应该把关键的错误信息粘体到谷歌上面,再看看 log.估计有关键信息我遗漏了。⬇️是 make.log
在.rvm/log/../make.log 中:
+rvm_make:0> make -j4 <中间略> error: error reading '/dev/fd/8' 1 error generated. clang: error: unable to remove file: Operation not permitted dtrace: failed to compile script probes.d: Preprocessor failed to process input program make: *** [probes.h] Error 1 make: *** Waiting for unfinished jobs.... +rvm_make:0> return 2
error: error reading '/dev/fd/8' 放到谷歌上查找:竟然第一条就是解决办法!!!https://github.com/rvm/rvm/issues/4313
答案是:I have had a similar problem "error: error reading '/dev/fd/7'". In my case it helped to deactivate the antivirus software Avira.使反病毒程序小红伞无效。惊人!!!杀毒软件,。