安装SASS gem遇权限错误,终端操作不熟寻求技术帮助
解决Sass安装的权限与命令找不到问题
我明白你现在的困扰——折腾了半天装Sass,权限报错就算了,明明文件夹都在,命令却找不到,确实挺闹心的。咱们一步步来解决:
为什么会出现这些问题?
系统自带的Ruby是给macOS本身用的,苹果限制了普通用户对它的修改权限,所以直接用gem install sass会提示没权限;用sudo的话,又会因为/usr/bin目录的严格权限限制失败。至于你看到的sass-3.5.5文件夹,大概率是之前安装时只把库文件放进去了,但可执行的sass命令没加到系统能找到的PATH路径里,所以终端认不出这个命令。
方案1:用Gem的用户安装模式(快速解决)
这个方法不用改系统Ruby,直接把Sass装到你的用户目录下:
- 执行安装命令(不需要sudo):
gem install sass --user-install - 把用户Gem的bin目录加到PATH里:
- 打开你的bash配置文件(如果用zsh就改
~/.zshrc):open ~/.bash_profile - 在文件末尾添加一行:
export PATH="$HOME/.gem/ruby/2.3.0/bin:$PATH" - 保存后,让配置生效:
source ~/.bash_profile
- 打开你的bash配置文件(如果用zsh就改
- 现在测试一下:
应该就能看到版本号了。sass -v
方案2:用Ruby版本管理器(更推荐,一劳永逸)
长期来看,用rbenv或者rvm管理自己的Ruby版本是更好的选择,彻底避开系统Ruby的权限问题:
- 先装Homebrew(如果没装的话,已经装过就跳过):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 安装rbenv:
brew install rbenv - 初始化rbenv到你的shell:
按照终端提示,把对应的代码行加到rbenv init~/.bash_profile或~/.zshrc里,然后重启终端或者执行source ~/.bash_profile。 - 安装一个新的Ruby版本(比如3.2.2,比系统的2.3新很多):
rbenv install 3.2.2 - 设置全局使用这个新Ruby版本:
rbenv global 3.2.2 - 现在安装Sass就完全没问题了:
gem install sass - 测试:
sass -v
额外提醒
千万别尝试给/Library/Ruby或者/usr/bin目录改权限,那样会破坏系统的稳定性,还可能带来安全风险。用上面的两种方法都能安全解决问题。
内容的提问来源于stack exchange,提问作者mplsgetscold
相关产品推荐
相关产品推荐

