【问题标题】:miniruby Permission denied Error occurred when installing ruby 2.3.1 using rbenv installed homebrewminiruby Permission denied 使用 rbenv installed homebrew 安装 ruby​​ 2.3.1 时发生错误
【发布时间】:2017-02-19 13:45:33
【问题描述】:

使用 rbenv 安装 ruby​​ 2.3.1 时收到错误消息。 我的环境如下。

  • MacOS 10.10.5
  • rbenv 1.0.0

日志信息如下。

$ rbenv install 2.3.1

...

Last 10 log lines:
compiling enc/unicode.c
compiling enc/utf_8.c
compiling enc/trans/newline.c
linking miniruby
generating encdb.h
make: ./miniruby: Permission denied
make: ./miniruby: Permission denied
make: *** [.rbconfig.time] Error 1
make: *** Waiting for unfinished jobs....
make: *** [encdb.h] Error 1

如果你遇到同样的错误,请告诉我如何解决这个错误?
感谢您的帮助。

【问题讨论】:

  • 在安装命令之前尝试使用 sudo
  • @archon92 感谢您的留言。我认为 rbenv 安装在没有 sudo 的本地环境中。是不是错了?
  • 我对此并不完全确定,但通常 ruby​​ make 需要对特定文件夹的写入权限,而您收到的错误肯定是这样的
  • 我通过 sudo 用户解决了这个问题。谢谢archon92。
  • 为什么我必须在rbenv install 2.4.0 之前附加一个sudo?我以为 rbenv 正在将所有东西都安装到我的 ~/.rbenv 中,这不是事实吗?我认为在 install 命令前加上 sudo 会破坏将 rbenv 放在主文件夹中的目的。

标签: ruby macos rbenv ruby-2.3.1


【解决方案1】:

接受的答案不是一个好的答案 - 安装过程不应该需要 root 权限,并且可能会导致将来安装需要 C 扩展的 gems(nokogiri 就是一个很好的例子)。

这是ruby-build 包中记录的错误:https://github.com/rbenv/ruby-build/issues/992,解决方法是导航到工作目录并自己运行make install - 如果您安装和更新了 XCode 命令行工具,它应该运行。

【讨论】:

    【解决方案2】:

    在命令前加 sudo(赋予管理员安装权限)

    ex)sudo 制作 ruby​​ 2.3.1

    【讨论】:

    • 上面写过,我可以解决这个问题。谢谢你,viodrey。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 2018-04-25
    相关资源
    最近更新 更多