使用Gem命令安装Sass时出现“您没有/usr/bin目录的写入权限。”

53
我正在使用Mac并尝试使用终端命令“sudo gem install sass”安装Sass,输入密码后一切都很顺利,直到出现以下提示:
“ERROR: While executing gem ... (Gem::FilePermissionError) 您没有/usr/bin目录的写权限。”
我确实使用了sudo,但它仍然无法正常工作,而且这是你无法给自己读取和写入权限的其中之一。 有什么想法吗?
谢谢,
Wade
4个回答

113

/usr/bin受到系统完整性保护,即使是root用户也不能对其进行写操作。您需要运行:

sudo gem install -n /usr/local/bin sass

安装到可写目录中


我不确定这是最好的解决方案。如果您想要系统范围内安装它怎么办? - Dimitri
2
@Dimitri /usr/local是系统级的,它是您应该在Mac OS上安装软件的位置,没有办法写入/usr/bin而不禁用sip。 - Alan Birtles
@AlanBirtles 我使用了你的命令进行安装,但Rails认为这个gem丢失了。如何告诉它这个gem已经安装在其他地方? - Aboozar Rajabi
你可以尝试设置GEM_PATH环境变量。 - Alan Birtles
2
为什么默认使用/usr/bin,如果它永远不会工作? - trapper
@trapper 可能只是安装到与 Ruby 本身安装在同一位置。 - Alan Birtles

14

对于Generamba:

sudo gem install -n /usr/local/bin generamba

什么是generamba? - IgorGanapolsky
@IgorGanapolsky,这是一个代码生成器工具:https://github.com/strongself/Generamba - Mihail Salari

5

针对CocoaPods:

sudo gem install -n /usr/local/bin cocoapods

4

我对bundler使用了同样的方法。

sudo gem install -n /usr/local/bin bundler。

它有效地运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接