rbenv 安装权限被拒绝

rbenv installation permission denied

大家好,我正在尝试设置一个开发环境,并且我一直在关注以下教程: Link to tutorial

我做的不是很好,除了最基本的版本控制之外,我没有终端命令的实际经验。我遵循了第一个 link 并尝试 运行

source ~/.bash_profile

我收到错误; mkdir: /usr/local/rbenv/shims: Permission denied mkdir: /usr/local/rbenv/versions: Permission denied

现在每次我加载终端时都会出现错误。

bash_profile 的内容;

export PATH=/usr/local/rbenv/bin:$PATH
export RBENV_ROOT=/usr/local/rbenv
eval "$(rbenv init -)"

任何指导将不胜感激

看起来 rbenv 安装程序在您的 .bash_profile 中放置了一行 shell 脚本,试图创建该目录。您可以授予自己在 /usr/local/rbenvsudo mkdir /directories/that/need/to/be/created 中创建目录的权限一次。

sudo mkdir -p /usr/local/rbenv/shims
sudo mkdir -p /usr/local/rbenv/versions

这非常有用System Wide Install With rbenv 具体将 rbenv 目录的权限更改为用户所在的组:

chgrp -R 员工 /usr/local/rbenv chmod -R g+rwxXs /usr/local/rbenv

实际 解决方案 ;-)(无需更改权限或创建目录)是更改您的 bash_profile(或其他类似 .zshrc就像我的情况一样)和 remove 这两个出口:

export PATH=/usr/local/rbenv/bin:$PATH
export RBENV_ROOT=/usr/local/rbenv

开始一个新的 shell,当然,并执行你的 rbenv install <your_version_of_choice>,它会毫无问题地安装。

运行 eval "$(rbenv init -)" 应该足以满足您的环境。参见 rbenv init explained。 我还认为这更安全,因为您依赖于安装才能正常工作。

无需 root/sudo 即可安装 Gem。

我在尝试安装 ruby 版本时遇到权限错误。

它还抱怨无法完成 mkdir

简而言之,将 LDFLAGS 设置为空字符串。

export LDFLAGS= 

在此处找到: https://github.com/rbenv/rbenv/issues/766