web-dev-qa-db-ja.com

zsh:コマンドが見つかりません:bundle(gem install bundle後)

なぜ_zsh: command not found: bundle_の後に_gem install bundler_ですか?

_/etc/zshrc_および_source /etc/zshrc_のpath=( /usr/local/lib/Ruby/gems/2.2/gems/ ~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin )を設定してみましたが、使用できません。

_root@dev:/home/dev# gem install bundler
Successfully installed bundler-1.7.12
Parsing documentation for bundler-1.7.12
Done installing documentation for bundler after 10 seconds
1 gem installed

root@dev:/home/dev# bundle
zsh: command not found: bundle

root@dev:/home/dev# uname -a
OpenBSD dev.my.domain 5.7 GENERIC#748 AMD64

root@dev:/home/dev# gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 2.4.5
  - Ruby VERSION: 2.2.0 (2014-12-25 patchlevel 0) [x86_64-openbsd]
  - INSTALLATION DIRECTORY: /usr/local/lib/Ruby/gems/2.2
  - Ruby EXECUTABLE: /usr/local/bin/Ruby22
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - SPEC CACHE DIRECTORY: /root/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /etc
  - RUBYGEMS PLATFORMS:
    - Ruby
    - x86_64-openbsd
  - GEM PATHS:
     - /usr/local/lib/Ruby/gems/2.2
     - /usr/local/lib/Ruby/gems/2.2/gems/
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - Shell PATH:
     - /usr/local/lib/Ruby/gems/2.2/gems/
     - /root/bin
     - /bin
     - /sbin
     - /usr/bin
     - /usr/sbin
     - /usr/local/bin
     - /usr/local/sbin
_
19
Mark Boulder

私はzshを使用して同じ問題を抱えていましたが、これで修正されました:

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv
$ echo 'eval "$(rbenv init -)"' >> ~/.zshenv
$ echo 'source $HOME/.zshenv' >> ~/.zshrc
$ exec $Shell
26
Ricardo Rojas

システム全体にbundlerをインストールした後のようです。これを行うには、--no-user-installフラグをgemに渡し、Sudoで実行する必要があります。

Sudo gem install bundler --no-user-install

この後、/usr/bin/bundleが表示されるはずです。

$ ls /usr/bin/bundle
/usr/bin/bundle*
24
rr-

Rubygemsがgem実行可能ファイルをインストールするディレクトリは、gem environmentで確認できます。

最初のポイントの1つはEXECUTABLE DIRECTORYである必要があります。このディレクトリが$PATHにあることを確認してください(Shell PATH btwとしてリストされています)

9
mhutter

bundlerをインストールした後、次のコマンドを実行してください。

rbenv rehash
6
Yoyo Coder

また、jekyllのセットアップ時に同じエラーが発生しました。私のgem envは次のようにGEM PATHSを表示します:

- GEM PATHS:
    - /usr/local/lib/Ruby/gems/2.5.0

このディレクトリの内容は次のようになります。

bin/            cache/          extensions/     specifications/
build_info/     doc/            gems/

binの中に、jekyllbundleの両方があります。

$cd /usr/local/lib/Ruby/gems/2.5.0/bin/
$ls
bundle        jekyll        listen        safe_yaml     sass-convert
bundler       kramdown      rougify       sass          scss

私と同じようなパスとファイルが見つかった場合、次のアプローチのいずれかが機能するはずです。

  • 次の方法で、フルパス/usr/local/lib/Ruby/gems/2.5.0/bin/PATHに追加します。

    export PATH="/usr/local/lib/Ruby/gems/2.5.0/bin/:$PATH"
    
  • /usr/local/binでシンボリックリンクを作成します:

    $cd /usr/local/bin
    $ln -sf /usr/local/lib/Ruby/gems/2.5.0/bin/bundle .
    $ln -sf /usr/local/lib/Ruby/gems/2.5.0/bin/jekyll .
    
  • .zshrc(または.bashrcなど)でエイリアスを設定します。

    alias jekyll="/usr/local/lib/Ruby/gems/2.5.0/bin/jekyll"
    alias bundle="/usr/local/lib/Ruby/gems/2.5.0/bin/bundle"
    

一般に、このすべてのパスの盲目は、予想以上にジキルサイトのセットアップの経験を大きくするだろうと感じました:

2
Shan Dou