RVM:“sha256sum和shasum发现”

时间:2011-09-21 13:37:21

标签: rvm

我刚刚在新机器上安装了RVM,当切换到包含.rvmrc文件的目录时(我接受了)我得到了:

ERROR: Neither sha256sum nor shasum found in the PATH

我在OS X 10.5.8上。 - 可能在某处丢失了某些东西。有什么想法,以及如何解决这个问题?

7 个答案:

答案 0 :(得分:19)

由于某些原因,我的OpenSSL碰巧没有sha256 enc功能:

$ openssl sha256
openssl:Error: 'sha256' is an invalid command.

经过一些谷歌搜索后,我发现有一个名为gsha256sum的自制软件配有“coreutils”。在安装了(brew install coreutils)后,我在/ usr / local / bin中有一个gsha256sum二进制文件,所以只需要对它进行符号化处理:

$ sudo ln -s /usr/local/bin/gsha256sum /usr/local/bin/sha256sum

为我修好了。

答案 1 :(得分:6)

ciastek的回答对我有用,直到我试图在bash脚本中的$()内运行rvm - rvm无法看到sha256sum函数。所以我创建了一个名为sha256sum的文件,其中包含以下内容:

openssl sha256 "$@" | awk '{print $2}'

将它放在〜/ bin中,使其可执行,并将该文件夹添加到我的路径中(并从我的.bashrc中删除该函数)。

(非常感谢我的同事Rob帮助我找到了解决办法。)

答案 2 :(得分:5)

意味着您错过了/ usr / bin中的二进制文件,或者您的路径在某种程度上缺少/ usr / bin。打开一个新shell并运行echo $ PATH | grep'/ usr / bin'并查看它是否返回。另外,ls -alh / usr / bin / shasum并确保二进制文件存在且可执行。 OS X上没有sha256sum,只是shasum。

答案 3 :(得分:3)

在MacOS Sierra上

$ shasum -a 256 filename

答案 4 :(得分:2)

在我看来,Leopard没有/ usr / bin / shasum。

查看shasum manpage - 此联机帮助页仅适用于Snow Leopard。其他联机帮助页,例如ls manpage(无法链接到它,信誉不足),适用于以前版本的MacOS X.

解决方法:使用OpenSSL计算sha256校验和。

Leopards的OpenSSL(0.9.7)无法处理sha256。 升级OpenSSL 。我使用过MacPorts(无法链接到它,没有足够的声誉)。将XCode升级到3.1需要OpenSSL的dependecy zlib 1.2.5。 Can I get Xcode for Leopard still?很有帮助。

别名sha256sum 到OpenSSL并更正格式化输出的方式。我已经放入了我的.bash_profile:

function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }

答案 5 :(得分:2)

我正在安装一个相对较新的Lion(OS X 10.7.4)。在我的/usr/bin/文件夹中,我有这些文件:

    -rw-rw-rw-  35 root  wheel   807B /usr/bin/shasum
    -rwxr-xr-x   1 root  wheel   7.5K /usr/bin/shasum5.10
    -rwxr-xr-x   1 root  wheel   7.5K /usr/bin/shasum5.12

我有一个shasum,它没有被标记为可执行文件。快速sudo chmod a+x /usr/bin/shasum为我解决了这个问题。

答案 6 :(得分:0)

对于mac os X 10.9.5并且您分析了get / usr / bin路径

 date +%s | shasum | base64 | head -c 32 ; echo