新手问题 请问一下"老鸟"们一个权限问题

monsterooo · 2018年07月14日 · 最后由 monsterooo 回复于 2018年07月14日 · 3392 次阅读
➜  sample_app git:(master) ✗ gem install bootstrap-sass
Fetching: autoprefixer-rails-8.6.5.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

为什么用 gem 安装都要加上sudo权限呢~

呃 你是怎么装的 Ruby,用的系统自带的么?为什么 GEM_PATH 会设置到这个奇怪的地方

IChou 回复

装了 ruby 有点久了,好像使用 brew 装的呢!

IChou 回复

是不是/Library/这种系统级的目录操作起来需要加sudo

简单粗暴:给当前用户 /Library/Ruby/Gems 这个目录的权限,或者直接 sudo

不想折腾:按 Wiki 里面的,用 rbenv 重装一个 Ruby,一劳永逸

想坚持用 brew 安装的 ruby 的话,可能你还需要一个 chruby

IChou 回复

3q, 明白了。我还想先这样用着,先学习。以后再来折腾也行😀

取决于 Ruby 的安装方式,我记得 brew 装的已经设好用户权限,也许楼主在用的是系统自带的。

Rei 回复

我也不记得了,有什么方法可以确认是系统的吗

可能你没把 /usr/local/bin 设到 path 里,于是就用了系统自带的 gem 命令,那自然就对应到了 /Library/xxx 的 gem 目录里了

luikore 回复

git:(master) ✗ which ruby /usr/bin/ruby

😕

需要 登录 后方可回复, 如果你还没有账号请 注册新账号