51

我试图让Jekyll运行,但我没有使用 Ruby 的经验。
据我所知,Jekyll 的安装已经成功。
然而:

$ jekyll

给出一个错误:

-bash: jekyll: command not found

这是gem env结果:

  - RUBYGEMS VERSION: 1.3.4
  - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0]
  - INSTALLATION DIRECTORY: /Volumes/HDD/DADU/gems
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /Volumes/HDD/DADU/gems/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-10
  - GEM PATHS:
     - /Volumes/HDD/DADU/gems
     - /Volumes/HDD/DADU/.gem/ruby/1.8
     - /Library/Ruby/Gems/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/

我发现了以下通往“某事” Jekyll 的路径:

  • ~.gem/ruby/1.8/gems/jekyll-0.11.0/lib/jekyll.rb
  • ~.gem/ruby/1.8/gems/bin/jekyll(执行文件)
4

15 回答 15

63

如果您使用的是 MacOS,请参阅故障排除指南

Jekyll & Mac OS X 10.11永久链接

随着系统完整性保护的引入,以前可写的几个目录现在被视为系统位置并且不再可用。鉴于这些变化,有几种简单的方法可以启动和运行。一种选择是更改 gem 的安装位置(同样,仅在必要时使用 sudo):

$ gem install -n /usr/local/bin jekyll
于 2018-08-19T20:18:56.640 回答
27

对于其他使用以下设置来这里的人:

OS X + brew ed install of ruby​​ + (可能) zsh

我认为问题在于,在按照他们的说明安装jekyll之后,gem 将 jekyll gem 安装在brew cellar 中,而不是操作系统通常期望的位置(某些位于 ruby​​ 的 gem 目录中)。

因此,这里需要的只是找出 ruby​​ 的brew install 安装 gems 的位置,找到 jekyll 二进制文件,并在/usr/bin.

以下是我修复它的步骤:

  1. 键入gem env并查找GEM PATHS。对我来说是:

    /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1.

  2. 确保您可以在上面1jekyll的目录中看到二进制文件并复制其路径(如果看不到,请搜索GEM PATHS中列出的任何其他路径)。对我来说是:

    /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/bin/jekyll

  3. 使用上述步骤2中的路径创建指向/usr/bin/jekyll. 我是通过输入这个来做到的(您可能需要sudo创建符号链接):

    cd /usr/bin && ln -s /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/bin/jekyll jekyll

现在,如果您键入,一切都应该是愉快jekyll的。

于 2014-03-15T11:09:39.267 回答
18

最简单的方法是使用 RVM。它为您管理 Ruby 及其所有的 gem,并且易于使用。请参阅此链接以使用它。

如果您不想使用它,则需要修改 PATH 变量,以便它可以找到您的 gem。我发现这很乏味并恢复为 RVM,但这里是一般步骤。

您需要找出 gem 的安装位置。如果你做gem install ...了,宝石会在~/.gem/ruby/1.8/gems/bin,如果你用过sudo gem install ...,宝石会在某处/System/Library/Frameworks/Ruby.framework/Versions/1.8/Resources

您必须将此路径添加到 PATH 变量中。最简单的方法是运行: echo 'PATH=$PATH:above/path/to/gems' >> ~/.bash_profile

于 2011-11-16T14:25:10.820 回答
13

如果您使用的是 RBENV 而不是 RVM,您只需rehash在安装 jekyll 后在命令行中运行:

rbenv rehash
于 2015-11-04T17:38:13.043 回答
11

也许有点晚了,但是......我在 Ubuntu 上安装 Jekyll 时遇到了一些麻烦,并尝试了人们在这个线程中回答的所有问题 - 不幸的是,没有任何效果。
然后,我在 Jekyll 的网站上观看了一段视频,在再次安装了整个 ruby​​ 包之后,就可以正常sudo gem install jekyll工作了。

先尝试一下:

sudo apt-get update

sudo apt-get install ruby-full

sudo gem install jekyll

jekyll -v

这看起来很简单,但它适用于 Ubuntu。

于 2017-01-17T20:03:10.997 回答
11

我在 MacOS 10.14 上安装了我的ruby2.6.0gemvia brew。
对我来说,将以下行添加到我~/.zshrc解决的这个问题中。

 export PATH=/usr/local/lib/ruby/gems/2.6.0/bin:$PATH

我用 command 找到了 jekyll 可执行文件locate jekyll

于 2019-01-25T14:34:22.053 回答
7

一种解决方案是编辑您的~/.bashrc文件并添加以下行:

PATH=$PATH:~/.gem/ruby/1.8/gems/bin

这将添加~/.gem/ruby/1.8/gems/bin到 Bash 的查找路径中。

重新打开终端,它应该可以工作。或者您可以使用以下命令:

. ~/.bashrc

于 2011-11-16T04:07:49.890 回答
4

以下步骤解决了我的问题

gem uninstall jekyll
sudo gem install jekyll

打开 ~/.bash_profile 并在最后一行添加此代码,

export PATH=$PATH:/usr/local/lib/ruby/gems/1.9.1/gems/jekyll-2.5.2/bin

保存并关闭.bash_profile

关闭并重新打开mac终端,jekyll现在尝试运行,它应该可以工作

于 2014-12-17T15:15:57.847 回答
3

对我来说,我遵循了这个安装指南,而不是他们主页的安装说明。在我更改bash_profile文件并重新启动终端后它起作用了。

于 2019-09-11T01:43:15.247 回答
2

比创建符号链接更容易,只需正确安装即可。如果您遇到很多人在尝试使用时遇到的权限错误

gem install jekyll

改为使用

sudo gem install jekyll
于 2016-05-27T22:40:03.140 回答
1

Jekyll 是一个 ruby​​ gem:例如,linux 中的 Ruby gems 位于 /var/lib/gems/1.8 中,可以在“ruby env”输出中看到。

因此,您需要将此目录中的可执行文件添加到您的路径中。

通常,如果您的操作系统“未找到”红宝石 gem,它只是表示要么

1) 您没有安装 gem 或

2)您没有在路径上的目录中安装 gem。

我发现在 linux 上安装 ruby​​ 和 ruby​​ gems 存在一些问题(我发现它在 Ubuntu v10 上可能会很棘手,并且已经与 IRC 上的 Ruby 人员确认了这一点)。因此,像 RVM 或 rbenv 这样的工具可能是建立稳定、可维护的 ruby​​ 环境的最佳方法。

于 2012-05-08T21:08:03.460 回答
1

@jayunit100,

我在 Jekyll 博客上遇到了同样的问题。我已经通过 RVM 在“博客”目录中安装了 gem,_config.yml 文件说它应该生成到 Blog/_site 中。就像将博客添加到 PATH 一样简单,还是我还缺少其他东西?

更新:我的错,我并没有真正安装 gem。经验教训:rvm requirements并且brew doctor是有原因的 - 在你安装东西之前使用它们

于 2013-03-06T19:34:28.393 回答
1

就我而言,我不得不跑bundle install --force

然后bundle exec jekyll serve工作,但jekyll serve仍然没有。看来我以后只能和前者去了……</p>

于 2017-12-08T21:51:48.950 回答
1

当您使用 --user-install 选项时,RubyGems 会将 gem 安装到您的主目录中的一个目录中,例如 ~/.gem/ruby/1.9.1。您安装的 gems 提供的命令最终会出现在 ~/.gem/ruby/1.9.1/bin 中。要使安装在那里的程序可供您使用,您需要将 ~/.gem/ruby/1.9.1/bin 添加到 PATH 环境变量中。

例如,如果您使用 bash,则可以通过将如下代码添加到 ~/.bashrc 文件中来将该目录添加到 PATH:

if which ruby >/dev/null && which gem >/dev/null; then
    PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi

https://guides.rubygems.org/faqs/#user-install

我把它放在 .bash_profile (Mac OS X) 中。

https://hathaway.cc/2008/06/how-to-edit-your-path-environment-variables-on-mac/

于 2019-01-22T10:48:17.960 回答
0

这是 2020 年(很快 2021 年)的更新答案。要安装任何 Ruby gem,无论是 Jekyll、Bundler、Rails 等,您都需要在 Mac 上安装合适的 Ruby 开发环境。在 Mac 上安装 Ruby 有多种方法,正如我在Mac 上安装 Ruby gems 的权威指南中详细描述的那样。我唯一推荐的是使用 Ruby 管理器,因为它是最灵活的,并且可以为您的长期成功做好准备。我最喜欢的是chruby,因为它最轻,最容易使用。作为安装 Ruby 的一部分,您还需要正确配置您的 shell 启动文件(通常是~/.zshrc~/.bash_profile),以便它知道在哪里可以找到您安装的 gem。否则,你会得到 " command not found“错误,我也写过。

由于在 Mac 上设置工作 Ruby 开发环境涉及多个步骤,因此我编写了一些脚本来自动化整个过程,让人们更轻松、更快捷地完成工作。您可以在上面提到的我的指南中阅读有关脚本的更多信息。

于 2020-12-03T02:55:18.310 回答