首页 > 解决方案 > bash:bundle:即使安装了捆绑器,也找不到命令

问题描述

我在 AWS EC2 实例上托管一个 Rails 应用程序,并使用 Capistrano 部署我的应用程序。在部署期间,我已经能够通过安装缺少的工具(如 Monit)来解决错误。但是,我被这个错误难住了:puma stderr: bash: bundle: command not found. 我看到捆绑器已安装在服务器上,但是当我键入bundle终端时显示Could not locate Gemfile. 我什至尝试过重新安装 bundler gem install bundler,但仍然无法识别 bundle 命令。我在下面列出了有关我的部署目标的详细信息。我不知道该怎么做,如果有任何帮助,我将不胜感激。

gem 环境返回:

RubyGems Environment:
  - RUBYGEMS VERSION: 3.0.3
  - RUBY VERSION: 2.6.5 (2019-10-01 patchlevel 114) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/ubuntu/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0
  - USER INSTALLATION DIRECTORY: /home/ubuntu/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: /home/ubuntu/.rbenv/versions/2.6.5/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /home/ubuntu/.rbenv/versions/2.6.5/bin
  - SPEC CACHE DIRECTORY: /home/ubuntu/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /home/ubuntu/.rbenv/versions/2.6.5/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/ubuntu/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0
     - /home/ubuntu/.gem/ruby/2.6.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--no-document"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /home/ubuntu/.rbenv/versions/2.6.5/bin
     - /home/ubuntu/.rbenv/libexec
     - /home/ubuntu/.rbenv/plugins/ruby-build/bin
     - /home/ubuntu/.rbenv/shims
     - /home/ubuntu/.rbenv/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games
     - /usr/local/games
     - /snap/bin

echo $PATH返回

/home/ubuntu/.rbenv/shims:/home/ubuntu/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

which gem返回

/home/ubuntu/.rbenv/shims/gem

locate bundle返回

/home/ubuntu/.gem/specs/rubygems.org%443/quick/Marshal.4.8/bundler-1.17.1.gemspec
/home/ubuntu/.rbenv/shims/bundle
/home/ubuntu/.rbenv/shims/bundler
/home/ubuntu/.rbenv/versions/2.6.5/bin/bundle
/home/ubuntu/.rbenv/versions/2.6.5/bin/bundler
/home/ubuntu/.rbenv/versions/2.6.5/lib/ruby/2.6.0/bundler
/home/ubuntu/.rbenv/versions/2.6.5/lib/ruby/2.6.0/bundler.rb
/home/ubuntu/.rbenv/versions/2.6.5/lib/ruby/2.6.0/bundler/build_metadata.rb
/home/ubuntu/.rbenv/versions/2.6.5/lib/ruby/2.6.0/bundler/capistrano.rb
/home/ubuntu/.rbenv/versions/2.6.5/lib/ruby/2.6.0/bundler/cli
/home/ubuntu/.rbenv/versions/2.6.5/lib/ruby/2.6.0/bundler/cli.rb
...

标签: ruby-on-railsrubyrubygemsbundler

解决方案


似乎某些 puma 设置已被覆盖。我将以下行添加到deploy.rb:set :rbenv_map_bins, %w{rake gem bundle ruby rails puma pumactl}以克服此错误。

解决方案链接: https ://github.com/seuros/capistrano-puma/issues/206


推荐阅读