バグ #1263
完了初回のmikutter環境構築中にbundleのインストール順の問題?でatk gemのインストールに失敗する
説明
まっさらなUbuntu Desktop 18.04でmikutterをインストールする際、bundleを実行するとatkのインストールに失敗します。
gem install atkで実行してみると、rakeが入っていないためエラーになっていました。
rakeをインストールすることで、bundleが問題なく進むようになりました。
Gemfileのことはあまり良くわかっていないですが、rakeを先に入れるように書くのが良いのでしょうか。
cob odo さんが6年以上前に更新
再現したわけではないですが、Ubuntuのrubyパッケージには確かにrakeは含まれていないようです。
https://packages.ubuntu.com/bionic/amd64/ruby/filelist
しかしrbenvでrubyをインストールする場合は、rakeは最初から入っています。
Ubuntu(Debianも?)でrakeが別パッケージとなっているのは歴史的経緯があるのではないでしょうか(元々、独自のプロジェクトとして開発され、作者の死後に https://github.com/ruby/rake へ移行された、らしいので)
apt install ruby
でgemもセットでインストールされるのに、gemの方は標準的にインストールされているものは使えると仮定してrakeを要求するのだとすれば、これはUbuntuのrubyパッケージのバグのような気がします……
Akira Ouchi さんが6年以上前に更新
- ステータス を 分類待ち から 却下 に変更
改めて確認してみたのですが、rakeは別途rakeパッケージが用意されているらしく、ruby(ruby-devだけかも)を入れると一緒に入ってくるようです。
ただ、rakeパッケージだけでは/usr/share/rubygems-integration/all/gems/rake-12.3.1/exe/rake がないだとかでLoadErrorになるため
sudo gem install rakeしてやる必要があるようです。なんのためにあるんだrakeパッケージ。
akkie@192-168-29-132:~/mikutter$ rake Traceback (most recent call last): 1: from /usr/local/bin/rake:23:in `<main>' /usr/local/bin/rake:23:in `load': cannot load such file -- /usr/share/rubygems-integration/all/gems/rake-12.3.1/exe/rake (LoadError) akkie@192-168-29-132:~/mikutter$ sudo gem install rake Fetching: rake-12.3.1.gem (100%) Successfully installed rake-12.3.1 Parsing documentation for rake-12.3.1 Installing ri documentation for rake-12.3.1 Done installing documentation for rake after 0 seconds 1 gem installed akkie@192-168-29-132:~/mikutter$ rake rake aborted! Don't know how to build task 'default' (see --tasks) /var/lib/gems/2.5.0/gems/rake-12.3.1/exe/rake:27:in `<top (required)>' (See full trace by running task with --trace)
よって、cob odoさんの指摘の通り、mikutterのバグではないので却下とします。
これで入るmikutter Ubuntu18.04版¶
$ sudo apt install -y ruby-dev libidn11-dev build-essential $ sudo gem install rake $ (mikutterをダウンロードするかgit cloneするか) $ cd mikutter $ bundle