我试图使用asdf install ruby 2.8.0-dev通过asdf安装ruby2.8.0-dev,但是我得到了以下错误:
Cloning https://github.com/ruby/ruby.git...
Installing ruby-master...
BUILD FAILED (Ubuntu 20.04 using ruby-build 20200401)
Inspect or clean up the working tree at /tmp/ruby-build.20200523221649.37283.rxnWxu
Results logged to /tmp/ruby-build.20200523221649.37283.log
Last 10 log lines:
/tmp/ruby-build.20200523221649.37283.rxnWxu ~
Cloning into 'ruby-master'...
/tmp/ruby-build.20200523221649.37283.rxnWxu/ruby-master /tmp/ruby-build.20200523221649.37283.rxnWxu ~
/home/carlos/.asdf/plugins/ruby/ruby-build/bin/ruby-build: line 622: autoconf: command not found我在Ubuntu 20.04
我搜索过这个,但没有找到任何有用的信息。
诚挚的问候。
发布于 2020-05-24 06:08:21
首先,一些关于如何自己解决这个问题的一般性建议,而不必等到别人来解决你的问题:
计算机非常擅长搜索。所以,在90%的情况下,当一台电脑告诉你它找不到东西时,那是因为它不存在。
所以,我首先要检查的是,如果我处在你的情况下,电脑告诉我找不到的东西是否真的在那里。特别是,我将检查是否安装了autoconf。
在其他10%的情况下,计算机正在寻找的东西是在那里,但它不是计算机正在寻找的地方。所以,我要检查的第二件事是autoconf是否在$PATH中。
基本上,遵循这两个步骤为我解决了问题。
现在,关于您的特定问题:当您想要编译某个软件时,您需要相应的工具。这些工具包括(但不限于)软件编写语言的编译器(在本例中为C)、构建工具(在本例中为Make)、软件使用的所有库的头文件(在本例中为libyaml、zlib、OpenSSL),也可能包括一些配置工具(在本例中为autoconf)。YARV还使用Bison生成解析器。
通常,软件的开发人员或贡献者文档中列出了这些所需的工具。尽管有时,人们只是假设通过直接从源代码编译来安装软件的人是足够聪明的,能够自己找出他们需要哪些工具。对于YARV,有关于运行测试套件的要求的文档,它首先还需要构建代码。
基于Debian的Linux发行版(Debian、Ubuntu、Mint等)有一个名为build-essential的方便的元包,它依赖于一些最重要的工具,例如gcc和make以及元包装 (而元包装又依赖于许多其他包)。
ASDF Ruby插件实际上在引擎盖下使用ruby-build,文献资料直接链接到系统要求,其中列出了以下内容:
apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev发布于 2020-05-24 04:58:31
我遇到了一个类似的问题,这为我修复了它。
简而言之,跑:
sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6 libreadline6-dev zlib1g zlib1g-dev
https://stackoverflow.com/questions/61980537
复制相似问题