RVM: “sha256sum nor shasum found”

寵の児 提交于 2019-12-05 21:17:13

问题


I've just installed RVM on a new machine and when switching into a directory containing a .rvmrc file (which I've accepted) I'm getting:

ERROR: Neither sha256sum nor shasum found in the PATH

I'm on OS X 10.5.8. — Probably missing something somewhere. Any ideas what's going on and how to fix this?


回答1:


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.




回答2:


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.




回答3:


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.)




回答4:


On MacOS Sierra run

$ shasum -a 256 filename




回答5:


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}'; }



回答6:


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.




回答7:


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

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


来源:https://stackoverflow.com/questions/7500691/rvm-sha256sum-nor-shasum-found

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