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

问题描述 投票:0回答:8

我正在尝试在 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

ruby-on-rails ruby rubygems installation
8个回答
58
投票

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

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

或者可能在你的情况下

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

这是做什么的:

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


11
投票

无需更改权限,只需导出GEM_HOME即可:

export GEM_HOME="$HOME/.gem"

10
投票

.rbenv 路径中的某个位置可能存在权限问题。您可以尝试使用以下方法为您的用户打开写入权限:

$ chmod -R +w ~/.rbenv

这将递归地 (

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


4
投票

对于 Mac M1 系统尝试一下,

  1. 允许对终端进行完整磁盘访问。

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

    sudo chflags noschg


2
投票

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

sudo pod install --allow-root

0
投票

在 Mac 上,如何配置 eyaml 手动创建目录和配置、向其中添加一些公钥位置并不重要,并且按照 Kewin 的建议,在向终端添加完整磁盘访问权限后,它的工作正常 ^ ^。竖起大拇指。


0
投票

chmod 777 file_name 因为超级用户


-1
投票

请运行:

sudo gem install pg
© www.soinside.com 2019 - 2024. All rights reserved.