无法找到具有可执行 jekyll 的 gem jekyll (>= 0.a) (Gem::GemNotFoundException)

Kad*_*j13 6 ruby rubygems ruby-on-rails jekyll github-pages

我正在尝试按照官方网站上的说明使用 github 和 jekyll 制作我的个人网站

当我到达该部分时:

jekyll new --skip-bundle
Run Code Online (Sandbox Code Playgroud)

我收到了:

can't find gem jekyll (>= 0.a) with executable jekyll (Gem::GemNotFoundException)
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法,例如这里提到的一种方法,我使用 运行命令sudo。再次运行后jekyll new --skip-bundle

这是按照此处的说明安装后的终端响应

Fetching bundler-2.4.5.gem
Successfully installed bundler-2.4.5
Parsing documentation for bundler-2.4.5
Installing ri documentation for bundler-2.4.5
Done installing documentation for bundler after 0 seconds
1 gem installed
Run Code Online (Sandbox Code Playgroud)

这是我jekyll new --skip-bundle再次运行时的终端响应:

Traceback (most recent call last):
    2: from /usr/local/bin/jekyll:22:in `<main>'
    1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:262:in `bin_path'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem jekyll (>= 0.a) with executable jekyll (Gem::GemNotFoundException)
Run Code Online (Sandbox Code Playgroud)

如果您能帮助我解决问题,我将不胜感激。我用的是 macOS。

更新:

我运行bundle add jekyll并收到:

Your RubyGems version (3.0.3) has a bug that prevents `required_ruby_version` from working for Bundler. Any scripts that use `gem install bundler` will break as soon as Bundler drops support for your Ruby version. Please upgrade RubyGems to avoid future breakage and silence this warning by running `gem update --system 3.2.3
Run Code Online (Sandbox Code Playgroud)

无法找到 Gemfile`

然后我跑gem update --system 3.2.3

Updating rubygems-update
Fetching rubygems-update-3.2.3.gem
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
    
Run Code Online (Sandbox Code Playgroud)

下一步我运行sudo gem update --system 3.2.3并收到:

Updating rubygems-update
Fetching rubygems-update-3.2.3.gem
Successfully installed rubygems-update-3.2.3
Parsing documentation for rubygems-update-3.2.3
Installing ri documentation for rubygems-update-3.2.3
Installing darkfish documentation for rubygems-update-3.2.3
Done installing documentation for rubygems-update after 78 seconds
Parsing documentation for rubygems-update-3.2.3
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 3.2.3
ERROR:  While executing gem ... (Errno::EROFS)
    Read-only file system @ rb_sysopen - /usr/share/man/man1/bundle-platform.1
Run Code Online (Sandbox Code Playgroud)

所以我还是没能添加 jekyll....

系统信息:

红宝石:ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19] 宝石:3.2.3 捆绑程序:version 2.4.6 自制程序:自制程序 3.6.20

Homebrew/homebrew-core (git revision fc36a19edf4; last commit 2023-02-04)
Homebrew/homebrew-cask (git revision 4c5d3e2391; last commit 2023-02-04)
Run Code Online (Sandbox Code Playgroud)

中央处理器:Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64

更新 2:我应该在 gem 文件所在的位置运行这些命令吗?

我跑了gem environment,这是我收到的。我应该在哪个目录中运行这些命令?

RubyGems Environment:
  - RUBYGEMS VERSION: 3.2.3
  - RUBY VERSION: 2.6.3 (2019-04-16 patchlevel 62) [universal.x86_64-darwin19]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.6.0
  - USER INSTALLATION DIRECTORY: /Users/shirinvafaei/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
  - GIT EXECUTABLE: /usr/local/bin/git
  - EXECUTABLE DIRECTORY: /usr/bin
  - SPEC CACHE DIRECTORY: /Users/shirinvafaei/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
     - ruby
     - universal-darwin-19
  - GEM PATHS:
     - /Library/Ruby/Gems/2.6.0
     - /Users/shirinvafaei/.gem/ruby/2.6.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/shirinvafaei/.rbenv/shims
     - /Users/shirinvafaei/.rbenv/bin
     - /usr/local/Cellar/ruby/2.4.1_1/bin
     - /usr/local/bin
     - /Users/shirinvafaei/opt/anaconda3/bin
     - /Users/shirinvafaei/opt/anaconda3/condabin
     - /Library/Frameworks/Python.framework/Versions/2.7/bin
     - /Library/Frameworks/Python.framework/Versions/3.8/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /opt/X11/bin
Run Code Online (Sandbox Code Playgroud)

另一个更新:我尝试过

rben install 3.0.5
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

eb322180c6f18a6f74e4b6aa
Installing openssl-1.1.1s...

BUILD FAILED (Mac OS X 10.15.7 using ruby-build 20230202)

Inspect or clean up the working tree at /var/folders/yk/clm8vmf15r9cv4hghy2wm6380000gn/T/ruby-build.20230215141911.2345.jn3ObC
Results logged to /var/folders/yk/clm8vmf15r9cv4hghy2wm6380000gn/T/ruby-build.20230215141911.2345.log

Last 10 log lines:
      _dgram_write in bss_dgram.o
      _fd_write in bss_fd.o
      _fd_puts in bss_fd.o
      _sock_write in bss_sock.o
      _sock_puts in bss_sock.o
     (maybe you meant: _UI_method_get_writer, _RAND_write_file , _PEM_write_bio_PKCS7_stream , _PEM_write_X509_AUX , _PEM_write_PrivateKey , _PEM_write_bio_PrivateKey_traditional , _PEM_write_bio_PrivateKey , _PEM_write_PKCS8_PRIV_KEY_INFO , _PEM_write_bio_PKCS8_PRIV_KEY_INFO , _PEM_write_PKCS8PrivateKey , _PEM_write_bio_PKCS8PrivateKey , _PEM_write_bio , _PEM_X509_INFO_write_bio , _PEM_write_bio_PUBKEY , _PEM_write_DHparams , _PEM_write_EC_PUBKEY , _PEM_write_bio_EC_PUBKEY , _PEM_write_bio_ECPKParameters , _PEM_write_DSA_PUBKEY , _PEM_write_bio_RSA_PUBKEY , _PEM_write_RSAPublicKey , _PEM_write_PKCS7 , _PEM_write_bio_PKCS7 , _PEM_write_X509_CRL , _PEM_write_bio_X509_REQ_NEW , _PEM_write_X509_REQ , _PEM_write_bio_X509 , _PEM_write_PKCS8 , _PEM_write_DHxparams , _PEM_write_DSAparams , _PEM_write_ECPKParameters , _PEM_write_bio_RSAPrivateKey , _UI_method_set_writer , _PEM_write_bio_X509_AUX , _PEM_write_ECPrivateKey , _SMIME_write_CMS , _PEM_write_DSAPrivateKey , _PEM_write_X509 , _PEM_write , _PEM_write_bio_DSAPrivateKey , _PEM_write_bio_X509_CRL , _PEM_write_bio_NETSCAPE_CERT_SEQUENCE , _SMIME_write_PKCS7 , _PEM_ASN1_write , _PEM_ASN1_write_bio , _PEM_write_bio_CMS , _CRYPTO_THREAD_write_lock , _PEM_write_bio_DHxparams , _PEM_write_bio_DSAparams , _PEM_write_RSA_PUBKEY , _TXT_DB_write , _PEM_write_PUBKEY , _BIO_meth_set_write_ex , _BIO_meth_set_write , _BIO_meth_get_write , _PEM_write_bio_DSA_PUBKEY , _BIO_write_ex , _PEM_write_bio_X509_REQ , _PEM_write_bio_Parameters , _PEM_write_bio_ECPrivateKey , _PEM_write_bio_PKCS8 , _PEM_write_X509_REQ_NEW , _PEM_write_bio_DHparams , _BIO_ctrl_get_write_guarantee , _BIO_meth_get_write_ex , _PEM_write_bio_PKCS8PrivateKey_nid , _PEM_write_bio_ASN1_stream , _PEM_write_bio_CMS_stream , _BIO_write , _PEM_write_CMS , _PEM_write_RSAPrivateKey , _PEM_write_NETSCAPE_CERT_SEQUENCE , _PEM_write_PKCS8PrivateKey_nid , _SMIME_write_ASN1 , _PEM_write_bio_RSAPublicKey )
ld: symbol(s) not found for architecture x86_64
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [libcrypto.dylib] Error 1
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)

你知道我该如何解决这个问题吗?

Pat*_*ick 2

这是按照此处的说明安装后的终端响应

您正在运行它来安装 Bundler(您可以将其视为 gem 存储)。在这里你知道,对于 jekyll 错误代码,它有同样的问题(它没有找到运行 jekyll 的源)。要解决此问题,请安装 jekyll

如果你想从捆绑器运行 jekyll,请尝试这个(推荐)参考

bundle add jekyll #This will add jekyll to Gemfile (gem dependencies manager)
bundle install #This will check/install the gem from Gemfile
bundle exec jekyll #This will run jekyll from the bundle
Run Code Online (Sandbox Code Playgroud)

如果不想使用bundle,可以直接安装gem

gem install jekyll
jekyll #this should work and have message related to jekyll
Run Code Online (Sandbox Code Playgroud)

更新 1 后编辑:(并发布回复以进一步调试)

基本上,如果你可以做到这些(上面命令的手动操作)

  1. 里面有线Gemfilegem "jekyll"
  2. 可以运行bundle install并成功,然后就可以继续处理其他与jekyll相关的事情了。