公司特别老的项目正在做重构,但是架不住产品提需求,所以硬着头皮就改了好几年没动过的老代码。改起来感觉还不错,没出啥乱子,但是吧,这个不符合事物发展的规律…果然,到了打包生产环境的静态资源文件的时候就出错了😢。编写样式时用Sass预处理,因此打包的时候需要转为浏览器能够理解的css文件。打包工具采用grunt,开发系统是Mac OS。郁闷啊,需要预装ruby和sass的环境才能运行。掉坑里爬了两天才出坑,今天逞着等后段出接口文档的空档,赶紧写下来记录一下,也算是这坑没有白踩了😄
戳我戳我(●’◡’●)
Linux和OS系统自带了ruby
> ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin16]
但是如果你直接使用gem(RubyGems是Ruby的一个包管理器)会报错
> gem install sass
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
尝试一下sudo命令
> sudo gem install sass
Building native extensions. This could take a while...
ERROR: Error installing sass:
ERROR: Failed to build gem native extension.
current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.1/ext/ffi_c
截取了核心的错误提示。也就是错误提示里面:
current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.1/ext/ffi_c
当然也可以设置写权限,使用系统自带ruby。但是存在破坏系统环境的危险而且不必要,我们完全可以安装一个Local环境用于开发(和造作)。所以我们使用brew安装ruby。
> brew search ruby
==> Formulae
chruby jruby rbenv-bundler-ruby-version ruby-completion
[email protected] chruby-fish mruby ruby ✔ ruby-install [email protected]
如果你的ruby这里有一个小✔那表示你其实已经成功安装了ruby那么就不需要执行接下来的install命令,如果没有✔那么赶紧执行install还等什么!
> brew install ruby
如果你想要重现安装ruby,那么可以使用reinstall命令
> brew reinstall ruby