RVM: “sha256sum nor shasum found”

╄→гoц情女王★ 提交于 2019-12-04 04:18:26

Means you're missing the binary in /usr/bin or your path is somehow missing /usr/bin. Open a new shell and run echo $PATH | grep '/usr/bin' and see if its returned. Also, ls -alh /usr/bin/shasum and make sure the binary is there and executable. There is no sha256sum on OS X, just shasum.

mike

My OpenSSL happened to not have a sha256 enc function for some reason:

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

After some googling, I found that there is an equivalent called gsha256sum that comes with the homebrew recipe "coreutils". After installing that (brew install coreutils), I had a gsha256sum binary in /usr/local/bin, so it was just a matter of symlinking it:

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

That fixed it for me.

ciastek's answer worked for me until I tried to run rvm within a $() in a bash script - rvm couldn't see the sha256sum function. So I created a file called sha256sum with the following contents:

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

put it in ~/bin, made it executable, and added that folder to my path (and removed the function from my .bashrc).

(Many thanks to my coworker Rob for helping me find that fix.)

On MacOS Sierra run

$ shasum -a 256 filename

ciastek

In my opinion Leopard just doesn't have /usr/bin/shasum.

Take a look at shasum manpage - this manpage is only for Snow Leopard. Other manpages, like ls manpage (can't link to it, not enough reputation), are for previous versions of MacOS X.

Workaround: Use OpenSSL to calculate sha256 checksums.

Leopards' OpenSSL (0.9.7) doesn't handle sha256. Upgrade OpenSSL. I've used MacPorts (can't link to it, not enough reputation). OpenSSL's dependecy zlib 1.2.5 required to upgrade XCode to 3.1. Can I get Xcode for Leopard still? is helpful.

Alias sha256sum to OpenSSL and correct the way it formats an output. I've put in my .bash_profile:

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

I'm on a relatively fresh install of Lion (OS X 10.7.4). In my /usr/bin/ folder I had these files:

    -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

I had a shasum, it just wasn't marked as executable. A quick sudo chmod a+x /usr/bin/shasum solved the issue for me.

For mac os X 10.9.5 and you profile get /usr/bin path

 date +%s | shasum | base64 | head -c 32 ; echo
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!