如何删除 Permission denied @ rb_sysopen - Gem 安装错误?

Posted

技术标签:

【中文标题】如何删除 Permission denied @ rb_sysopen - Gem 安装错误?【英文标题】:How do I remove Permission denied @ rb_sysopen - Gem install error? 【发布时间】:2021-12-27 08:48:20 【问题描述】:

我正在尝试在 Ruby on Rails 中安装创建一个新应用,但无法通过此错误:

$ gem install pg

错误:执行 gem 时 ... (Errno::EACCES) 权限被拒绝@rb_sysopen - /Users/stormyramsey/.rbenv/versions/2.3.2/lib/ruby/gems/2.3.0/gems/pg-0.21.0/.gemtest

【问题讨论】:

试试sudo gem install pg @SebastiánPalma: 如果目标是在 ~/.rbenv 下安装 gem,sudo 应该是不必要的。除非我错过了什么。 @StormyRamsey,谁拥有/stormyramsey/.rbenv/?是root 用户吗? 【参考方案1】:

Mac M1 系统试试,

    允许对终端进行全盘访问。

    Apple->systemPreferences->Security&Privacy->privacy(Tab)->'+' 按钮,检查终端应用程序。 然后重启终端 2.尝试使用,

    sudo chflags noschg

【讨论】:

【参考方案2】:

删除 pod 文件夹,重新安装。如果它不起作用,请使用此命令:

sudo pod install --allow-root

【讨论】:

【参考方案3】:

这是一个权限问题。你可以用这个来修复它:

sudo chown -R $(whoami) /Library/Ruby/Gems/*

或者可能是你的情况

sudo chown -R $(whoami) /Users/stormyramsey/.rbenv/versions/2.3.2/lib/ruby/gems/*

这是做什么的:

这是告诉系统更改文件以将所有权更改为当前用户。安装某些东西时一定有什么东西搞砸了。通常这是因为有多个帐户或用户在不应该总是使用 sudo 进行安装。

【讨论】:

你能解释一下到底是什么问题吗? 用解释更新了我的答案【参考方案4】:

.rbenv 路径中的某处可能存在权限问题。您可以尝试为您的用户开启写入权限:

$ chmod -R +w ~/.rbenv

这将递归地 (-R) 将文件模式 (chmod) 更改为用户 .rbenv 路径下所有文件和目录的写入权限 (+w)。没有设置要写入的文件没有特别的原因。

【讨论】:

以上是关于如何删除 Permission denied @ rb_sysopen - Gem 安装错误?的主要内容,如果未能解决你的问题,请参考以下文章

php文件rmdir删除操作时,出现Permission denied,解决方法

linux root用户无法删除文件,提示permission denied

linux修改密码提示 passwd:permission denied

git@github.com: Permission denied (publickey).////remote: Permission to xxx/test.git denied to xxx.等

问题解决:‘/run/user/1000/gvfs’: Permission denied

Linux下操作出现Permission denied错误