86763
### 実現したいこと

`bundle exec`を省略したい

### 発生している問題

`--binstubs=vendor/bin`が非推奨になっているので、  
今後推奨される`bundle binstubs --path=vendor/bin`のコマンドを打つとエラーメッセージが表示される

### 表示されるエラー

```

    `bundle binstubs` needs at least one gem to run.
    
```

### 使っているツールのバージョン等

Mac OS M1  
VScode  
ruby 3.1.0  
rails "~> 7.0.2", ">= 7.0.2.2"

### rails new . に至るまでのコマンドの流れ

  1. プロジェクトファイルを作成する  
`mkdir sample`

  2. ファイル内でbundleを初期化  
`bundle init`

  3. Gemfileを編集する
  4. gemのインストール先をローカルに設定  
`bundle config set path 'vendor/bundle'`

  5. bundle execを省略する設定  
`bundle binstubs --path=vendor/bin`

  6. gemをインストール  
`bundle install`

  7. 新規Railsアプリケーションの作成  
`rails new . -d postgresql`

### 下記の設定もしています

rails 環境構築部の`bundle exec`を省略する設定を有効にするために`.rbenv`に設定を加える必要がある

```

    $ mkdir -p ~/.rbenv/plugins
    $ cd ~/.rbenv/plugins
    $ git clone https://github.com/ianheggie/rbenv-binstubs.git
    
```

### さいごに

`bundle exec`をつければこのまま開発は続けられるが、  
`rails g`コマンド等でも毎度`bundle exec`を打つのは非効率なので、できれば解決したいです。  
何かわかる方教えてくださると嬉しいです。
CC BY-SA 4.0
2022-03-08T15:48:08.533
86762
2022-03-09T00:30:19.023
2022-03-08T16:07:03.357
3060
51745
question
ruby-on-rails ruby rubygems
bundle execを省略したい
`bundle binstubs`は実行可能なファイルを「引数で与えられたgemに対して」生成するコマンドです。  
<https://bundler.io/man/bundle-binstubs.1.html>  
もし全てのgemに対してbinstubsを生成したい場合は、`--all`オプションを付ける必要があります。

基本的には、`bundle
install`コマンドを先に実行しておくとよいでしょう。そうすれば、Bundlerはインストールされたgemに対して処理を行うことができます。
CC BY-SA 4.0
2022-03-08T17:30:56.823
86763
2022-03-08T17:30:56.823
442
86762
answer
`bundle exec` の文字数が多いのが問題なのであれば、`alias be='bundle exec'` などと alias
を貼るのはよく見ます。プロジェクトごとに設定を確認するのが面倒なので、個人的には毎回 `bundle exec` が意識できる書き方にする方を好んでいます。
CC BY-SA 4.0
2022-03-09T00:30:19.023
86764
2022-03-09T00:30:19.023
19110
86762
answer