杰基尔 - 没找到命令

时间:2011-11-16 03:18:21

标签: ruby bash jekyll

我正在尝试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/

我发现以下路径导致了“某事”杰基尔:

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

15 个答案:

答案 0 :(得分:16)

对于其他来这里设置的人来说:

OS X + brew ed 安装ruby +(可能) zsh

我认为问题在于按照their instructions安装 jekyll 之后,gem会在 brew 酒窖中安装jekyll gem,而不是操作系统通常预期的地方它(有些东西在ruby的gem目录中)。

所以,这里需要的只是找出ruby的 brew 安装位置安装gems,找到jekyll二进制文件,并在/usr/bin中创建一个符号链接。< / p>

以下是我修复它的步骤:

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

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

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

    /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

  4. 如果您输入jekyll,现在一切都应该是快乐的。

答案 1 :(得分:13)

最简单的方法是使用RVM。它为您管理Ruby及其所有宝石,并且易于使用。有关使用它,请参阅此link

如果您不想使用它,则需要修改PATH变量,以便找到您的宝石。我发现这很乏味并且还原到RVM,但这里是一般步骤。

您需要了解宝石的安装位置。如果您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

答案 2 :(得分:12)

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

rbenv rehash

答案 3 :(得分:11)

如果您使用的是MacOS,请从Troubleshooting guide

  

Jekyll和Mac OS X 10.11固定链接

     

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

$ gem install -n /usr/local/bin jekyll

答案 4 :(得分:7)

也许有点晚了,但...... 我在Ubuntu上安装Jekyll时遇到了一些麻烦,并尝试了人们在这个帖子中回答的一切 - 遗憾的是没有任何效果。
然后,我在Jekyll的网站上观看了一段视频,在再次安装整个ruby包后,Node工作了。

先尝试一下:

sudo gem install jekyll

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

答案 5 :(得分:6)

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

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

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

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

. ~/.bashrc

答案 6 :(得分:2)

以下步骤解决了我的问题

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,它应该可以正常工作

答案 7 :(得分:1)

Jekyll是一个红宝石的宝石:例如,linux中的Ruby宝石在/var/lib/gems/1.8中,可以在&#34; ruby​​ env&#34;中找到。输出。

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

一般来说,如果没有找到红宝石的宝石,那么#34;通过您的操作系统,它只是表明

1)您没有安装宝石或

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

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

答案 8 :(得分:1)

@ jayunit100,

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

更新:我的不好,我没有安装宝石。获得的经验:rvm requirementsbrew doctor是有原因的 - 在你安装之前使用他们

答案 9 :(得分:1)

比创建符号链接更容易,只需正确安装即可。 如果您在尝试使用

时获得了很多人的许可错误
$rowNumber = 1;
while (($row = oci_fetch_array($result, OCI_BOTH)) != false){
    $columna = 'A';
    foreach ($row as $key => $valor) {
        $objPHPExcel->getActiveSheet()->setCellValue($columna . $rowNumber,  $valor);
        $columna++; 
    }
    $rowNumber++;
}

改为使用

gem install jekyll

答案 10 :(得分:1)

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

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

我用命令locate jekyll找到了jekyll可执行文件。

答案 11 :(得分:0)

在我的情况下,我必须运行bundle install --force

然后bundle exec jekyll serve有效,但jekyll serve仍然没有。从现在开始,我似乎不得不与前者一起......

答案 12 :(得分:0)

使用--user-install选项时,RubyGems会将gems安装到主目录中的某个目录中,例如〜/ .gem / ruby​​ / 1.9.1。您安装的gems提供的命令将以〜/ .gem / ruby​​ / 1.9.1 / bin结尾。为了使安装的程序可供您使用,您需要在PATH环境变量中添加〜/ .gem / ruby​​ / 1.9.1 / bin。

例如,如果您使用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/

答案 13 :(得分:0)

对我来说,我遵循的是安装guide,而不是其主页的安装说明。在我更改了bash_profile文件并重新启动了Terminal之后,它起作用了。

答案 14 :(得分:0)

以下是2020年(2021年很快)的最新答案。要安装任何Ruby gem,无论是Jekyll,Bundler,Rails等,都需要在Mac上使用合适的Ruby开发环境。正如我在definitive guide to installing Ruby gems on a Mac中详细介绍的那样,有多种方法可以在Mac上安装Ruby。我推荐的唯一一个方法是使用Ruby管理器,因为它是最灵活的,可以使您长期成功。我最喜欢的是chruby,因为它最轻巧,最容易使用。在安装Ruby的过程中,您还需要正确配置Shell启动文件(通常为~/.zshrc~/.bash_profile),以便它知道在哪里可以找到要安装的gem。否则,您将收到“ command not found”错误,我也已经写过。

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