####概要
CentOSでHerokuをインスールしようとしたら、下記のエラーが出ました。
[vagrant@localhost ~]$ heroku --version
/usr/local/heroku/lib/heroku/updater.rb:3:in `require': /usr/local/heroku/lib/heroku/helpers.rb:303: syntax error, unexpected ':', expecting ')' (SyntaxError)
...de('utf-8', 'binary', invalid: :replace, undef: :replace).sp...
^
from /usr/local/heroku/lib/heroku/updater.rb:3
from /usr/local/heroku/bin/heroku:18:in `require'
from /usr/local/heroku/bin/heroku:18
インストールした手順としては、
Heroku Toolbelt のStandaloneからのインストールです。
[vagrant@localhost ~]$ wget -O- https://toolbelt.heroku.com/install.sh | sh
# PATHを通します。
[vagrant@localhost ~]$ echo 'PATH="/usr/local/heroku/bin:$PATH"' >> ~/.bash_profile
# 適応します。
$ source ~/.bash_profile
# インストールされたか、確認してみます。
[vagrant@localhost ~]$ heroku --version
/usr/local/heroku/lib/heroku/updater.rb:3:in `require': /usr/local/heroku/lib/heroku/helpers.rb:303: syntax error, unexpected ':', expecting ')' (SyntaxError)
...de('utf-8', 'binary', invalid: :replace, undef: :replace).sp...
^
from /usr/local/heroku/lib/heroku/updater.rb:3
from /usr/local/heroku/bin/heroku:18:in `require'
from /usr/local/heroku/bin/heroku:18
原因追求
Rubyのバージョンを確認
[vagrant@localhost ~]$ ruby --version
# ちょっと古い?
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
rbenvでRubyのバージョンを2.3.0にあげてみる。
(rbenvについては省略します)
[vagrant@localhost ~]$ rbenv install -l
Available versions:
1.8.6-p383
1.8.6-p420
1.8.7-p249
~~
2.3.0
[vagrant@localhost ~]$ rbenv install 2.3.0
~
[vagrant@localhost ~]$ rbenv global 2.3.0
~
vagrant@localhost ~]$ ruby --version
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
herokuを確認してみます。
# きちんとインストールされています。
[vagrant@localhost ~]$ heroku --version
heroku-toolbelt/3.43.0 (x86_64-linux) ruby/2.3.0
~