ruby 尝试安装jeykll在我的mac上我遇到了这个错误?

nzkunb0c  于 12个月前  发布在  Ruby
关注(0)|答案(2)|浏览(121)

所以,我试图安装Jeykll在我的mac上,因为我说,在运行gem我得到了这个错误:
错误:执行gem时...(Gem::FilePermissionError)您没有/Library/Ruby/Gems/2.6.0目录的写入权限。
我不是一个终端高手的任何手段,所以我是按照教程时,我得到了这个。我想知道是否有一个简单的修复这个问题,所以我可以实际上安装杰基尔在我的Mac。im在Mac pro索诺马14,并将感谢任何帮助。
谢谢

nukf8bse

nukf8bse1#

每当您看到权限错误时,它是某个软件(在此特定情况下是操作系统)告诉您,您正在尝试执行不允许执行的操作。
首先,也是最重要的,你现在需要做的是 * 调查为什么会这样 *。不要试图找到任何变通方法,后门,技巧等。如果你不明白为什么会出现错误,你可以通过尝试解决错误来严重破坏你的系统。
基本上有两种可能性:
1.错误是正确的:你本来就不应该做你想做的事情,换句话说,限制是正确的,你做的事情是错误的。
1.错误是错误的:你应该被允许做你想做的事情,但是权限设置不正确。换句话说:限制是不正确的。
盲目地使用工具,如susudo,或doas在unixoid操作系统,或runasUAC在Windows中,以简单地禁用安全屏障是 * 错误的事情 * 在这两种情况下。
在第一种情况下,正确的做法是“什么都不做”。你正在做一些你不应该做的事情。你需要找到一种不同的方法。
在情况#2中,正确的做法是要求系统管理员修复错误的权限,以便您可以访问您应该访问的资源。
换句话说:在第一种情况下,障碍的存在是有原因的,而在第二种情况下,障碍本来就不应该存在。在这两种情况下,跳过障碍都是错误的。
现在,系统管理员 * 有 * 合法的理由 * 使用sudo来对操作系统的基本配置 * 进行 * 根本性的更改。
不幸的是,用户习惯于通过使用sudo重试操作来简单地解决任何问题,甚至不考虑为什么会首先出现问题,这已经变得太普遍了。This answer to your question演示了这个问题:回答者告诉你使用sudo,但没有解释它在做什么,为什么你需要它,但更重要的是,甚至没有提到你所做的是错误的摆在首位。这是非常危险的。如果你是那些患有“sudo炎”的人之一,我鼓励你挂出Super UserAsk UbuntuUnix & Linux SE,或Ask Different,并观察心烦意乱的用户提出的问题,这些用户在不了解自己在做什么的情况下盲目使用sudo,从而丢失了宝贵的数据。
问问你自己:安装一个博客平台是不是需要你让系统管理员参与进来,并对操作系统进行根本性的修改?我想,你和我一样觉得这个想法很奇怪,所以这里肯定有什么问题。
答案是:
您正在尝试覆盖系统Ruby安装. Do not do that的部分内容。系统Ruby安装由Apple提供,供 * 系统本身使用 * 和“遗留软件”. It is not to be used by the user
请参阅Apple的官方声明,作为macOS Catalina 发行说明的一部分:
macOS中包含Python、Ruby和Perl等脚本语言运行时,以实现与旧版软件的兼容性。默认情况下,未来版本的macOS将不包含脚本语言运行时,并且可能需要您安装其他软件包。如果您的软件依赖于脚本语言,建议您在应用中捆绑运行时。
更糟糕的是,RubyGem可以在安装过程中运行任意代码。如果您使用sudoyou allow that Gem to run arbitrary code on your computer with full administrative privileges安装RubyGem。
那么,什么是正确的做法?
正确的做法是将您自己的Ruby安装到您可以访问的目录中,并使用该安装而不是系统安装。
有很多不同的方法可以做到这一点。我个人使用Homebrew作为包管理器。但我不直接使用ruby formula,而是使用rbenv formula安装rbenv来管理我的Ruby安装,使用ruby-install formula安装ruby-install来安装Ruby实现。
然后,我可以使用rbenv install来安装特定Ruby实现的特定版本,rbenv global设置我想要默认使用的版本,gem install为这个特定版本安装RubyGems。

clj7thdc

clj7thdc2#

你似乎正在使用osx默认的ruby版本,所以要安装gem,你需要在命令前面加上 sudo(超级用户do),因为ruby安装在一个路径中,你登录的普通用户没有写权限:

sudo gem install jekyll

字符串

相关问题