我在安装rails时生成可执行文件时出现运行时错误。无法构建gem本机扩展(extconf失败)
gem install rails -- --use-system-libraries
我已签类似thread这里,但对我来说,似乎没有图书馆丢失。它说“你必须首先安装开发工具”,但没有指定哪个工具。 错误日志可以看到here。
我在archlinux上(4.12.4-1-ARCH)。
我在安装rails时生成可执行文件时出现运行时错误。无法构建gem本机扩展(extconf失败)
gem install rails -- --use-system-libraries
我已签类似thread这里,但对我来说,似乎没有图书馆丢失。它说“你必须首先安装开发工具”,但没有指定哪个工具。 错误日志可以看到here。
我在archlinux上(4.12.4-1-ARCH)。
要发现的最小集合的,你需要的工具和库,我开始与一个完全新鲜的archlinux/base
图像中泊坞如下:
docker run -it archlinux/base
...现在的集装箱内...
首先,我改变了默认的镜像列表,因为镜像中的镜像似乎没有工作。如果你的pacman
工作正常,你不需要这样做。
rm /etc/pacman.d/mirrorlist
echo "Server = http://mirrors.kernel.org/archlinux/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist
pacman-db-upgrade
pacman -Syyu --noconfirm
接下来,我安装了ruby和C++工具。
pacman -S ruby gcc make --noconfirm
尝试运行gem install rails -- --use-system-libraries
导致预期的抱怨缺少库引入nokogiri。这取决于libxml2
和libxslt
,所以...
pacman -S libxml2 libxslt --noconfirm
最后,你可以运行gem install rails -- --use-system-libraries
,它会成功完成。
如果你想安装导轨无--use-system-libraries
(这是可能是你想要,如引入nokogiri感叹一下不是与libxml2
操作系统捆绑版本100%兼容的)只需要安装git
和awk
通过吃豆子,而不是安装的xml库,例如
pacman -S ruby gcc make git awk --noconfirm
gem install rails
Enjoy!
谢谢,我可以在不使用系统库的情况下使用git和awk进行安装。你能帮助我理解awk和git如何帮助解决这个问题吗? – krishnakant
我仍然无法找到使用“rails --version”的rails。它正确安装了日志https://pastebin.com/Mdqc7YWv – krishnakant
在Nokogiri构建过程中使用了awk和git。我不确定它使用的是什么 - awk可能已经用于简单的命令行文本处理,git将被用于从某处下载额外的代码。 – struthersneil
我已经开始了一个全新的'archlinux/base' Docker镜像,我将记录所有Rails依赖关系构建的步骤。 一般来说,在这些情况下'开发工具'指的是'gcc'和'make',那么你会得到每个缺失库的消息,你可以一个一个地安装它们。 无论如何,我现在正在工作,我会写出答案。 – struthersneil