なぜ_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
_
私はzshを使用して同じ問題を抱えていましたが、これで修正されました:
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv
$ echo 'eval "$(rbenv init -)"' >> ~/.zshenv
$ echo 'source $HOME/.zshenv' >> ~/.zshrc
$ exec $Shell
システム全体にbundler
をインストールした後のようです。これを行うには、--no-user-install
フラグをgem
に渡し、Sudo
で実行する必要があります。
Sudo gem install bundler --no-user-install
この後、/usr/bin/
にbundle
が表示されるはずです。
$ ls /usr/bin/bundle
/usr/bin/bundle*
Rubygemsがgem実行可能ファイルをインストールするディレクトリは、gem environment
で確認できます。
最初のポイントの1つはEXECUTABLE DIRECTORY
である必要があります。このディレクトリが$PATH
にあることを確認してください(Shell PATH
btwとしてリストされています)
bundler
をインストールした後、次のコマンドを実行してください。
rbenv rehash
また、jekyllのセットアップ時に同じエラーが発生しました。私のgem env
は次のようにGEM PATHS
を表示します:
- GEM PATHS:
- /usr/local/lib/Ruby/gems/2.5.0
このディレクトリの内容は次のようになります。
bin/ cache/ extensions/ specifications/
build_info/ doc/ gems/
bin
の中に、jekyll
とbundle
の両方があります。
$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"
一般に、このすべてのパスの盲目は、予想以上にジキルサイトのセットアップの経験を大きくするだろうと感じました: