杰基尔 - 没找到命令

DAD*_*ADU 36 ruby bash jekyll

我想让Jekyll运行但我没有使用Ruby的经验.
据我所知,Jekyll的安装成功了.
然而:

$ jekyll
Run Code Online (Sandbox Code Playgroud)

给出错误:

-bash: jekyll: command not found
Run Code Online (Sandbox Code Playgroud)

这是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/
Run Code Online (Sandbox Code Playgroud)

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

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

cod*_*igo 19

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

OS X + 酿造 ED +(可能)红宝石安装的zsh

我认为问题在于按照他们的指示安装jekyll之后,gem会在brew地窖中安装jekyll gem ,而不是操作系统通常所期望的那些(某些内容位于ruby的gem目录中).

所以,这是需要在这里一切都找出了酿造安装Ruby的安装宝石,找到哲基尔二进制文件,并在创建符号链接到它/usr/bin.

以下是我修复它的步骤:

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

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

  2. 确保您可以jekyll在上面的1中看到目录中的二进制文件并复制其路径(如果不能,请搜索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.

  • 较新版本的Jekll似乎在“ exe”路径而不是“ bin”中包含二进制文件。我在`/ usr / local / bin`中执行的符号链接是`ln -s ../Cellar/ruby/2.4.2_1/lib/ruby/gems/2.4.0/gems/jekyll-3.6.2/exe/jekyll 。 (2认同)

ano*_*her 19

如果您使用的是MacOS,请从“ 疑难解答”指南中

Jekyll和Mac OS X 10.11

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

$ gem install -n /usr/local/bin jekyll
Run Code Online (Sandbox Code Playgroud)

  • 这真的帮助了我在莫哈韦沙漠!谢谢。顺便说一句,我用 $ gem install --user-install -n /usr/local/bin jekyll 安装在主目录中。 (4认同)
  • 我必须添加 `--user-install` 才能使其工作:`gem install -n /usr/local/bin jekyll --user-install`。非常感谢您的回答! (3认同)
  • 谢谢你。这很容易,adter 尝试了很多其他的东西。看来 macOS 真的不想让你写在 /usr/bin (2认同)

Kas*_*sel 14

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

如果您不想使用它,则需要修改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


Scr*_*cro 13

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

rbenv rehash
Run Code Online (Sandbox Code Playgroud)


小智 11

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

 export PATH=/usr/local/lib/ruby/gems/2.6.0/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

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


小智 7

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

先尝试一下:

sudo apt-get update

sudo apt-get install ruby-full

sudo gem install jekyll

jekyll -v
Run Code Online (Sandbox Code Playgroud)

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


San*_*ang 6

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

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

这将添加~/.gem/ruby/1.8/gems/binBash的查找路径.

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

. ~/.bashrc