在试图使用命令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的共享库引起的。
如何解决这个问题并成功地生成菜谱?
发布于 2023-05-16 13:14:47
它告诉您您需要安装libcrypt.so。
您可以使用ldd $(type -p chef)检查,其中列出了chef所需的共享库。由于chef使用了libcrypt.so中的函数,而且您没有安装它,所以chef无法工作。
在Ubuntu上,您可以找到要安装的包(以获得libcrypt.so):
dpkg -S libcrypt.so但你没让我们知道你用的是哪个发行版。
发布于 2023-05-20 01:21:30
我也有同样的问题,安装libxcrypt-compat似乎解决了我的问题。
sudo pacman -Syu libxcrypt-compat发布于 2023-05-21 11:09:17
我就是这样解决的。
如果在运行命令时遇到此错误
# chef generate cookbook my_cookbook退出状态127 /opt/厨师-工作站/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_cookbookhttps://unix.stackexchange.com/questions/746042
复制相似问题