RVM:"sha256sum和shasum发现"

pol*_*lau 8 rvm

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

ERROR: Neither sha256sum nor shasum found in the PATH
Run Code Online (Sandbox Code Playgroud)

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

小智 19

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

$ openssl sha256
openssl:Error: 'sha256' is an invalid command.
Run Code Online (Sandbox Code Playgroud)

经过一些谷歌搜索后,我发现有一个名为gsha256sum的等价物附带自制食谱"coreutils".安装之后(brew install coreutils),我在/ usr/local/bin中有一个gsha256sum二进制文件,所以这只是一个符号链接的问题:

$ sudo ln -s /usr/local/bin/gsha256sum /usr/local/bin/sha256sum
Run Code Online (Sandbox Code Playgroud)

这为我解决了这个问题.

  • 我相信这应该可以在没有"sudo"的情况下完成 (2认同)

小智 6

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

openssl sha256 "$@" | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)

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

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


ddd*_*ddd 5

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