生成说明书时出错:缺少共享库“libcrypt.so.1”

生成说明书时出错:缺少共享库“libcrypt.so.1”

我在尝试使用命令生成食谱时遇到错误chef generate cookbook test-cookbook。我收到的错误消息如下:

ERROR : exit status 127
/opt/chef-workstation/embedded/bin/ruby:  error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

该错误似乎是由缺少名为 的共享库引起的libcrypt.so.1

如何解决此问题并成功生成食谱?

答案1

它告诉你需要安装libcrypt.so.

您可以检查ldd $(type -p chef)which 列出了chef.由于chef使用了 中的功能libcrypt.so,并且您没有安装它,chef因此无法工作。

libcrypt.so在 Ubuntu 上,可以使用以下命令找到要安装(以获取)的软件包:

dpkg -S libcrypt.so

但您没有让我们知道您正在使用哪个发行版。

答案2

我遇到了同样的问题,安装libxcrypt-compat似乎解决了我的问题。

sudo pacman -Syu libxcrypt-compat

答案3

我就是这样解决的。

如果您在运行命令时遇到此错误

# chef generate cookbook my_cookbook

退出状态 127 /opt/chef-workstation/embedded/bin/ruby:加载共享库时出错:libcrypt.so.1:无法打开共享对象文件:没有这样的文件或目录

这意味着你libcrypt.so.1可能失踪了。您可以通过以下方式在 Linux/AWS/Redhat 中安装所有软件包:

sudo yum update
sudo yum install glibc

现在搜索图书馆

find / -name "libcrypt.so.1" 2>/dev/null

如果 find 命令没有显示任何内容,则意味着“libcrypt.so.1“仍然缺失。通过以下方式手动下载并安装它:

yum provides "*/libcrypt.so.1"
yum install "*/libcrypt.so.1"

现在再次搜索,它会显示图书馆的路径。

find / -name "libcrypt.so.1" 2>/dev/null

现在运行chef generate命令,它很可能会起作用。

# chef generate cookbook my_cookbook

相关内容