【问题标题】:Error occured while installing unf_ext (0.0.7.4), and Bundler cannot continue安装 unf_ext (0.0.7.4) 时出错,Bundler 无法继续
【发布时间】:2019-01-29 03:55:48
【问题描述】:

我的最终目标是让它在 Ubuntu 14.04 Docker 容器中运行:https://github.com/byalextran/autoluv

当我跑步时

m1@9bdc67007b49:~/autoluv$ bundle install --deployment

上面写着:

Fetching unf_ext 0.0.7.4
Installing unf_ext 0.0.7.4 with native extensions
Errno::EACCES: Permission denied @ rb_sysopen - /home/m1/autoluv/vendor/bundle/ruby/2.4.0/gems/unf_ext-0.0.7.4/.document
An error occurred while installing unf_ext (0.0.7.4), and Bundler cannot continue.
Make sure that `gem install unf_ext -v '0.0.7.4' --source 'https://rubygems.org/'` succeeds before bundling.

但是当我跑步时

sudo gem install unf_ext -v '0.0.7.4' --source 'https://rubygems.org/'

unf_ext-0.0.7.4 安装正常吗?

Building native extensions.  This could take a while...                                                                             
Successfully installed unf_ext-0.0.7.4                                                                                              
1 gem installed                                                                                                                     
Installing ri documentation for unf_ext-0.0.7.4...                                                                                  
Installing RDoc documentation for unf_ext-0.0.7.4...

我无法弄清楚下一步。我已经尝试安装 ruby​​-dev 和 gcc,但都没有帮助推动这一点:(

非常感谢任何和所有帮助!

【问题讨论】:

    标签: ruby rubygems ubuntu-14.04


    【解决方案1】:

    我遇到了同样的问题,原因是我没有安装捆绑程序需要运行的所有依赖项

    尝试一下:

    sudo apt-get install build-essential
    

    然后再次运行

    gem install bundler
    

    最后

    bundler
    

    【讨论】:

      【解决方案2】:

      使用sudo 和不使用sudo 运行命令是有区别的。您可以在此处https://kb.iu.edu/d/amyi 获取有关此命令的更多信息。

      Errno::EACCES 通常发生在 bunder 无法访问所需文件夹或该文件夹不存在时。

      在没有sudo 的情况下尝试gem install unf_ext -v '0.0.7.4' --source 'https://rubygems.org/'

      【讨论】:

      • 这一直给我文件权限错误:错误:执行 gem ... (Gem::FilePermissionError):您没有写入 /var/lib/gems/1.9.1 的权限目录。我按照this answer 中的指示进行操作,但这就像打地鼠一样。我遇到了这个错误:“不允许操作 - /var/lib/gems/1.9.1/gems/unf_ext-0.0.7.4/ext/unf_ext/unf/trie/char_stream.hh”,但即使在 chown 和chmod,没有任何进展。
      • 我按照这里的说明操作:gorails.com/setup/ubuntu/14.04 --- 我应该使用 sudo rbenv install 2.5.3 和 sudo rbenv global 2.5.3 吗?
      • @Michael,没有。如果您想在开发过程中使用不带sudobundle 命令,则应在不带sudo 的情况下运行rbenv install 2.5.3rbenv global 2.5.3
      • 我确信我已逐字遵循该指南。我会更好地记录我的过程并更新原始问题(cmets 不允许适当的格式)。感谢您迄今为止所做的一切!
      【解决方案3】:

      我在 Fedora 上遇到了同样的问题。

      我只需要安装 gcc-c++ 包。

      【讨论】:

        【解决方案4】:

        我通过安装 rbenv:sudo aptitude install rbenvsudo apt install rbenv,在我的 ChromeOS Linux 容器中的 Debian 10 buster 上解决了这个错误。

        Aptitude 包管理器似乎比默认的 apt 更擅长解决依赖关系并允许我更轻松地安装更新的包,所以我认为值得一提。

        【讨论】:

          【解决方案5】:

          在对 Xcode 13、BigSur 使用以下命令后解决了这个问题:

          softwareupdate --install a
          
          sudo   port upgrade outdated 
          
          ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
          
          brew install wget
          
          brew install build-essentials
          
          bundler install
          

          【讨论】:

            猜你喜欢
            • 2017-04-19
            • 2016-03-14
            • 2022-01-20
            • 2017-02-09
            • 2018-09-08
            • 2020-01-16
            • 2021-06-25
            • 2014-01-12
            • 2018-04-05
            相关资源
            最近更新 更多