【问题标题】:rbenv installation permission deniedrbenv 安装权限被拒绝
【发布时间】:2015-10-13 19:58:08
【问题描述】:

大家好,我正在尝试建立一个开发环境,我一直在通过以下方式学习教程; Link to tutorial

我做得不是很好,除了最基本的版本控制之外,我没有真正的终端命令经验。我点击了第一个链接并尝试运行时

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 -)"

任何指导将不胜感激

【问题讨论】:

  • 可以发.bash_profile的内容吗?
  • 是的,我已将其添加到问题中。
  • 看起来 rbenv 设置在您的 .bash_profile 中放置了一行 shell 脚本,试图创建该目录。您可以授予自己在 /usr/local/rbenv 中创建目录的权限,也可以授予自己一次在 sudo mkdir /directories/that/need/to/be/created 中创建目录的权限。
  • 是的,这就是 Greg,谢谢伙计。如果你继续回答它,我会确保投票。干杯人。

标签: ruby terminal rbenv


【解决方案1】:

看起来 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

【讨论】:

  • 您不应该自己创建这些文件夹,rbenv 可以在需要时自行创建。您唯一应该做的就是在使用初始化脚本启动终端时运行eval "$(rbenv init -)"。此解决方案中的更多信息:stackoverflow.com/a/65999645/512504
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    实际解决方案;-)(无需更改权限或创建目录)是更改您的bash_profile(或其他类似.zshrc,如我的情况)和删除两个导出:

    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。 我也认为这更安全,因为您依靠安装才能正常工作。

    Gems 无需 root/sudo 即可安装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-14
      • 2015-01-28
      • 2020-08-27
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2016-04-10
      相关资源
      最近更新 更多