我刚刚在新机器上安装了RVM,当切换到包含.rvmrc
文件的目录时(我接受了)我得到了:
ERROR: Neither sha256sum nor shasum found in the PATH
我在OS X 10.5.8上。 - 可能在某处丢失了某些东西。有什么想法,以及如何解决这个问题?
答案 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