{"id":543,"date":"2016-08-21T00:21:32","date_gmt":"2016-08-21T07:21:32","guid":{"rendered":"https:\/\/porkrind.org\/missives\/?p=543"},"modified":"2019-02-17T21:02:49","modified_gmt":"2019-02-18T05:02:49","slug":"rust-nightly-homebrew","status":"publish","type":"post","link":"https:\/\/porkrind.org\/missives\/rust-nightly-homebrew\/","title":{"rendered":"Rust nightly + Homebrew"},"content":{"rendered":"<p>I used to use <a href=\"https:\/\/github.com\/pointlessone\/homebrew-rust-nightly\">this Homebrew &#8220;Tap&#8221;<\/a> to install Rust nightly versions, but it stopped working at some point. I messed around with it a lot and determined it had something to do with newer Rusts not liking the <code>install_name_tool<\/code> calls that homebrew forces on libraries during installation.<\/p>\n<p>So I looked into rustup (the nice shell version, not the crazy rust binary version which sadly seems to be on track to replace it) and came up with the following shell function.<\/p>\n<pre><code class=\"language-bash\">rust_new_nightly_to_brew() {\n    curl -sSf https:\/\/sh.rustup.rs -o \/tmp\/rustup.sh &amp;&amp;\n    bash \/tmp\/rustup.sh --disable-sudo --channel=nightly \\\n       --prefix=$(brew --prefix)\/Cellar\/rustup-nightly\/$(date '+%Y-%m-%d') &amp;&amp;\n    brew switch rustup-nightly $(date '+%Y-%m-%d')\n}\n<\/code><\/pre>\n<p>Stick that in .bashrc and then run <code>rust_new_nightly_to_brew<\/code> to install a new nightly into Homebrew&#8217;s world. It&#8217;s nice to live in this world because if you don&#8217;t like a nightly for some reason it&#8217;s trivial to revert to your last good install with <code>brew switch<\/code>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I used to use this Homebrew &#8220;Tap&#8221; to install Rust nightly versions, but it stopped working at some point. I messed around with it a lot and determined it had something to do with newer Rusts not liking the install_name_tool calls that homebrew forces on libraries during installation. So I looked into rustup (the nice &hellip; <a href=\"https:\/\/porkrind.org\/missives\/rust-nightly-homebrew\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Rust nightly + Homebrew<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-543","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/posts\/543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/comments?post=543"}],"version-history":[{"count":14,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/posts\/543\/revisions"}],"predecessor-version":[{"id":643,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/posts\/543\/revisions\/643"}],"wp:attachment":[{"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/media?parent=543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/categories?post=543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/tags?post=543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}