zsh:找不到命令:bundle(在gem install bundle之后)

问题描述 投票:18回答:5

为什么zsh: command not found: bundle之后的gem install bundler

我尝试在path=( /usr/local/lib/ruby/gems/2.2/gems/ ~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin )/etc/zshrc设置source /etc/zshrc无济于事。

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
ruby gem bundler openbsd
5个回答
26
投票

我使用zsh有同样的问题,这解决了它:

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

24
投票

你似乎是在系统范围内安装bundler之后。要做到这一点,你需要将--no-user-install标志传递给gem并使用sudo执行它:

sudo gem install bundler --no-user-install

在此之后,你应该在bundle看到/usr/bin/就好了:

$ ls /usr/bin/bundle
/usr/bin/bundle*

9
投票

您可以使用gem environment检查Rubygems将在哪个目录中安装gem可执行文件。

其中一个要点应该是EXECUTABLE DIRECTORY。确保此目录位于$PATH(列为SHELL PATH btw)


6
投票

你应该在安装qazxsw poi之后运行以下命令:

bundler

2
投票

设置jekyll时也遇到了同样的错误。我的rbenv rehash 显示gem env如下:

GEM PATHS

该目录的内容如下所示:

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

bin/ cache/ extensions/ specifications/ build_info/ doc/ gems/ 内部,我看到binjekyll

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

总的来说,我觉得所有这些路径失明使得设置一个jekyll网站的经验比预期更加坎坷:(如果其他人有一套正常工作的步骤(没有这样的故障排除需求),请评论:)

© www.soinside.com 2019 - 2024. All rights reserved.