OSX:安装Ruby Gem或Node模块后的权限问题

时间:2015-07-27 18:58:28

标签: ruby node.js macos terminal

我最近在通过终端安装任何东西时,在本地开发环境中安装任何Ruby gem或节点模块时遇到了问题。它正常工作了一段时间。

sudo gem install compass

当我运行

时,这似乎安装正确
compass -v

我得到了

/usr/bin/compass: Permission denied

当我浏览/ usr / bin / compass和罗盘上的“获取信息”时,它说系统 - Read&写,每个人 - 没有访问权而不是每个人 - 只读或......

-rwx------   1 root   wheel       512 Jul 27 14:46 compass

出于某种原因,所有内容都被写入了不正确的权限。

Node.js模块也是如此。

sudo npm install gulp 

似乎可以正常工作但我在尝试使用时遇到了相同的权限问题

/usr/local/bin/gulp: Permission denied

我已经用尽了我的搜索,并希望有人可以帮助我提供一些有关如何永久解决此问题的见解

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您正在使用sudo安装宝石,因此,root占用了所有东西。因此,我建议使用RVM而不是使用sudo。 RVM为您提供了一种简单的方法来管理多个版本的Ruby,每个版本都可以在~/.rvm中获得宝石,这可以避免您遇到的权限问题。此外,可以(但不推荐)进行适用于所有用户的全局RVM安装。

编辑:正如Tin Man在回应中提到的那样,全局RVM安装不仅在一般意义上不推荐,而且RVM作者自己也提出反对意见。告诫者等等。但是,无论如何,你应该会发现单用户版本已经足够了。