【发布时间】:2020-04-11 05:40:28
【问题描述】:
我正在尝试安装 jekyll。
我跑gem install bundler jekyll
安装 gems 后,我运行 bundle init 并得到 p>
bash:捆绑:找不到命令
我该如何解决?
【问题讨论】:
我正在尝试安装 jekyll。
我跑gem install bundler jekyll
安装 gems 后,我运行 bundle init 并得到 p>
bash:捆绑:找不到命令
我该如何解决?
【问题讨论】:
您可以使用gem which 获取gem 的目录。例如:
$ gem which jekyll
/home/username/.rvm/gems/ruby-2.6.4/gems/jekyll-4.0.0/lib/jekyll.rb
然后将目录附加到您的 PATH:
$ export PATH="$PATH:/home/username/.rvm/gems/ruby-2.6.4:"
【讨论】:
安装 gem 后出现“找不到命令”的原因是因为它们安装在 bash shell 还不知道的位置。计算机查找命令的方式是查看PATH,这是计算机应在其中查找命令的文件夹列表,例如bundle。前面的答案是正确的,但不幸的是,gem which 命令只会告诉您PATH 中已经存在的位置,其中可能不包括安装 bundler 和 jekyll 的文件夹。
gem 的位置取决于您安装 Ruby 的方式,所以在不知道这一点的情况下,我无法告诉您在 PATH 中放置什么。我可以告诉你的是,不幸的是,你所经历的很常见,但有一个解决办法。为了避免不必要的挫败感并帮助像你这样的人,我编写了一个脚本,它会自动为你设置一个合适的 Ruby 环境,包括更新你的 PATH 以及能够立即安装和使用 gems 所需的一切没有得到任何错误。查看此答案底部的链接以了解有关我的脚本的更多信息。
在此期间,我可以做一些猜测,看看是否可以提供帮助。如果您使用 Homebrew 安装了 Ruby,那么这应该可以解决它:
运行这个命令:
echo 'export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin:$PATH"' >> ~/.bash_profile
然后退出并重新启动您的终端。现在你应该可以运行bundle init了。
如果您正在阅读本文并且您不是原始发帖人,您可能需要将上述命令中的 .bash_profile 替换为 .zshrc,具体取决于您使用的 shell。您可以通过查看错误来判断。如果你使用zsh,它会说zsh: bundle: command not found。
您可以在这些文章中阅读有关我的脚本和其他修复“找不到命令”错误的方法的更多信息:
https://www.moncefbelyamani.com/troubleshooting-command-not-found-in-the-terminal/ https://www.moncefbelyamani.com/how-to-install-jekyll-on-a-mac-the-easy-way/ https://www.moncefbelyamani.com/the-definitive-guide-to-installing-ruby-gems-on-a-mac/
【讨论】: