gpt4 book ai didi

ruby - 与中间人和 Gemfile 的依赖关系错误

转载 作者:数据小太阳 更新时间:2023-10-29 07:53:09 26 4
gpt4 key购买 nike

我对ruby很陌生,但是我想编译一个用中间人完成的项目。

我已经确认我已经使用以下命令安装了所有依赖项:

>> bundle install
Using i18n (0.6.1)
Using multi_json (1.7.3)
Using activesupport (3.2.13)
Using chunky_png (1.2.8)
Using coffee-script-source (1.3.3)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using fssm (0.2.10)
Using sass (3.2.8)
Using compass (0.12.2)
Using ffi (1.8.1)
Using tilt (1.3.7)
Using haml (4.0.2)
Using hike (1.2.2)
Using rack (1.4.5)
Using url_mount (0.2.1)
Using http_router (0.10.2)
Using json (1.7.7)
Using listen (0.7.3)
Using syntax (1.0.0)
Using maruku (0.6.1)
Using bundler (1.3.5)
Using rack-test (0.6.2)
Using rb-fsevent (0.9.3)
Using thor (0.15.4)
Using middleman-core (3.0.13)
Using rack-protection (1.5.0)
Using sinatra (1.3.6)
Using padrino-core (0.10.7)
Using padrino-helpers (0.10.7)
Using uglifier (1.2.7)
Using middleman-more (3.0.13)
Using sprockets (2.9.3)
Using sprockets-sass (0.9.1)
Using middleman-sprockets (3.0.11)
Using middleman (3.0.13)
Using rb-inotify (0.9.0)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

如果我使用 Gemfile 依赖项进行编译,它会告诉我以下内容:

>> bundle exec middleman build
/var/lib/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
from /var/lib/gems/1.9.1/gems/execjs-1.4.0/lib/execjs.rb:5:in `<module:ExecJS>'
from /var/lib/gems/1.9.1/gems/execjs-1.4.0/lib/execjs.rb:4:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require'
from /var/lib/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/renderers/coffee_script.rb:2:in `require'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/renderers/coffee_script.rb:2:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/core_extensions/rendering.rb:33:in `require'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/core_extensions/rendering.rb:33:in `registered'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/core_extensions/extensions.rb:90:in `register'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/application.rb:160:in `<class:Application>'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/application.rb:18:in `<module:Middleman>'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/application.rb:17:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core.rb:16:in `require'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core.rb:16:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/middleman-3.0.13/lib/middleman.rb:2:in `require'
from /var/lib/gems/1.9.1/gems/middleman-3.0.13/lib/middleman.rb:2:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/load_paths.rb:38:in `setup_load_paths'
from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/bin/middleman:10:in `<top (required)>'
from /usr/local/bin/middleman:23:in `load'
from /usr/local/bin/middleman:23:in `<main>'

我已经安装了 JavaScript 运行时:

>> sudo gem install therubyracer 

如果我尝试在没有 Gemfile 的情况下进行编译,则会出现不同版本的错误:

>> middleman build
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:33:in `block in setup': You have already activated listen 1.2.2, but your Gemfile requires listen 0.7.3. Using bundle exec may solve this. (Gem::LoadError)
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:19:in `setup'
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup'
from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/setup.rb:7:in `<top (required)>'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/load_paths.rb:30:in `setup_load_paths'
from /var/lib/gems/1.9.1/gems/middleman-core-3.1.4/bin/middleman:10:in `<top (required)>'
from /usr/local/bin/middleman:23:in `load'
from /usr/local/bin/middleman:23:in `<main>'

我不知道我是否会将此 gem 添加到 Gemfile,但必须将其放入。我不知道我是否误解了 ruby 或我做错了。如果有人能指出我的错误,我将不胜感激。

谢谢

最佳答案

Middleman 不能/不会提供这些平台依赖项似乎是一个已知的“问题”,请参阅 https://github.com/middleman/middleman/issues/276#issuecomment-4037229 .

根据 https://stackoverflow.com/a/7860385您只需将以下内容添加到您的 Gemfile 中:

gem "rb-inotify"
gem "therubyracer"

运行 bundle install 一次然后运行 ​​bundle exec middleman build 应该对你有帮助。

关于ruby - 与中间人和 Gemfile 的依赖关系错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com