首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成食谱时出错:缺少共享库"libcrypt.so.1“

生成食谱时出错:缺少共享库"libcrypt.so.1“
EN

Unix & Linux用户
提问于 2023-05-16 12:15:25
回答 3查看 65关注 0票数 0

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

代码语言:javascript
复制
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的共享库引起的。

如何解决这个问题并成功地生成菜谱?

EN

回答 3

Unix & Linux用户

发布于 2023-05-16 13:14:47

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

您可以使用ldd $(type -p chef)检查,其中列出了chef所需的共享库。由于chef使用了libcrypt.so中的函数,而且您没有安装它,所以chef无法工作。

在Ubuntu上,您可以找到要安装的包(以获得libcrypt.so):

代码语言:javascript
复制
dpkg -S libcrypt.so

但你没让我们知道你用的是哪个发行版。

票数 0
EN

Unix & Linux用户

发布于 2023-05-20 01:21:30

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

代码语言:javascript
复制
sudo pacman -Syu libxcrypt-compat
票数 0
EN

Unix & Linux用户

发布于 2023-05-21 11:09:17

我就是这样解决的。

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

代码语言:javascript
复制
# chef generate cookbook my_cookbook

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

这意味着您的libcrypt.so.1可能丢失了。您可以在Linux/AWS/Redhat中安装所有块,

代码语言:javascript
复制
sudo yum update
sudo yum install glibc

现在搜索图书馆

代码语言:javascript
复制
find / -name "libcrypt.so.1" 2>/dev/null

如果find命令没有显示任何内容,这意味着"libcrypt.so.1“仍然缺失。下载并手动安装,

代码语言:javascript
复制
yum provides "*/libcrypt.so.1"
yum install "*/libcrypt.so.1"

现在再次搜索,它将显示到库的路径。

代码语言:javascript
复制
find / -name "libcrypt.so.1" 2>/dev/null

现在运行chef generate命令,它很可能正在工作。

代码语言:javascript
复制
# chef generate cookbook my_cookbook
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/746042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档