我正在尝试在 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 chown -R $(whoami) /Library/Ruby/Gems/*
或者可能在你的情况下
sudo chown -R $(whoami) /Users/stormyramsey/.rbenv/versions/2.3.2/lib/ruby/gems/*
这是做什么的:
这是告诉系统更改文件以将所有权更改为当前用户。当安装某些东西时,一定是出了什么问题。通常这是因为有多个帐户或用户在不应该总是使用 sudo 的情况下进行安装。
无需更改权限,只需导出GEM_HOME即可:
export GEM_HOME="$HOME/.gem"
.rbenv 路径中的某个位置可能存在权限问题。您可以尝试使用以下方法为您的用户打开写入权限:
$ chmod -R +w ~/.rbenv
这将递归地 (
-R
) 更改文件模式 (chmod
) 为用户的 .rbenv 路径下的所有文件和目录写入权限 (+w
)。没有将文件设置为写入的特殊原因。
对于 Mac M1 系统尝试一下,
允许对终端进行完整磁盘访问。
Apple->systemPreferences->Security&Privacy->privacy(Tab)->'+'按钮,检查终端应用程序。 然后重新启动终端 2.尝试使用,
sudo chflags noschg
删除pod文件夹,重新安装。如果它不起作用,请使用此命令:
sudo pod install --allow-root
在 Mac 上,如何配置 eyaml 手动创建目录和配置、向其中添加一些公钥位置并不重要,并且按照 Kewin 的建议,在向终端添加完整磁盘访问权限后,它的工作正常 ^ ^。竖起大拇指。
chmod 777 file_name 因为超级用户
请运行:
sudo gem install pg