Actions
Bug #14058
closed[bundler] program-suffixを付けるとbundle gem -> rake buildなどが動作しない
Description
./configure --program-suffix=2.5 ...
など、program-suffixを指定してrubyをビルドしたとき
bundlerのいくつかの機能が動作しません。
1. bundle gem
で新規gemを作成したときrake build
やrake install
が失敗する¶
$ bundle2.5 gem mygem
$ cd mygem
$ vi mygem.gemspec # fix TODOs
$ rake2.5 build
rake aborted!
sh: 1: gem: not found
:
$ rake2.5 install
rake aborted!
sh: 1: gem: not found
:
program-suffixを付けたとき、gemコマンドにも"gem2.5"などsuffixが反映されますが
lib/bundler/gem_helper.rbで常に"gem"という名前を期待している箇所があり、
そこで失敗します。
def build_gem
file_name = nil
sh("gem build -V '#{spec_path}'") do # <= missing suffix
2. bundler
コマンドが動作しない¶
コマンドbundleとbundlerのうち、program-suffixを付けたとき後者の実行が失敗します。
$ bundle2.5 --version
Bundler version 1.15.4
$ bundler2.5 --version
Traceback (most recent call last):
1: from /home/vagrant/ruby/2.5/bin/bundler2.5:4:in `<main>'
/home/vagrant/ruby/2.5/bin/bundler2.5:4:in `load': cannot load such file -- /home/vagrant/ruby/2.5/bin/bundle (LoadError)
$ cat `which bundler2.5`
#!/home/vagrant/ruby/2.5/bin/ruby2.5
# frozen_string_literal: true
load File.expand_path("../bundle", __FILE__)
いずれもprogram-prefixでも同様だと思います。
Updated by hsbt (Hiroshi SHIBATA) about 7 years ago
- Status changed from Open to Assigned
- Assignee set to hsbt (Hiroshi SHIBATA)
報告ありがとうございます。
--program-suffix をつけた、Ruby 2.4 のような安定版で普通に gem i bundler
した環境でも発生するか試していただけないでしょうか?
(発生しそうな気がしています)
Updated by kimuraw (Wataru Kimura) almost 7 years ago
I got same error with ruby-2.4.2 and bundler-1.16.0.
$ bundle gem mygem
:
$ rake2.4 build
rake aborted!
sh: 1: gem: not found
Updated by hsbt (Hiroshi SHIBATA) almost 7 years ago
- Status changed from Assigned to Third Party's Issue
確認ありがとうございます。
bundler がコマンドをハードコードしていることが原因なので upstream への報告をお願いします。
Actions
Like0
Like0Like0Like0