我正在执行以下脚本:

gem install rdoc --no-document
gem install bundle
bundle

输出:

+ gem install rdoc --no-document
Successfully installed rdoc-6.1.1
1 gem installed
+ gem install bundle
Successfully installed bundle-0.0.1
Parsing documentation for bundle-0.0.1
Done installing documentation for bundle after 2 seconds
1 gem installed
1 gem installed
+ bundle install
/usr/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)
    from /usr/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
    from /srv/myuser/.gem/ruby/2.5.0/bin/bundle:23:in `<main>'

我在路径中添加了/srv/myuser/.gem/ruby/2.5.0/bin个,这样我就可以安装gems了.

gem env场演出

RubyGems Environment:
  - RUBYGEMS VERSION: 2.7.7
  - RUBY VERSION: 2.5.1 (2018-03-29 patchlevel 57) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/2.5.0
  - USER INSTALLATION DIRECTORY: /srv/myuser/.gem/ruby/2.5.0
  - RUBY EXECUTABLE: /usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - SPEC CACHE DIRECTORY: /srv/myuser/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/lib/ruby/gems/2.5.0
     - /srv/myuser/.gem/ruby/2.5.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--user-install"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/bin

gem list显示已安装的gems.

ls -ltrah /srv/myuser/.gem/ruby/2.5.0/bin

我也try 过安装bundler,但也没用.

gem which bundle代表什么都没有.gem spec bundle正在展示它.

更新:我试图在运行bundle之前安装bundler,但在以下情况下出现了相同的问题:

gem list bundle场演出

bundle (0.0.1)
bundler (2.0.1)

推荐答案

Bundler版本2引入了一个新功能,可以自动使用项目Gemfile.lock中指定的Bundler版本.因此,如果你有一个在底部有这样一条线的现有Gemfile.lock

BUNDLED WITH
   1.17.3

Bundler will try to run with a Bundler version < 2.0. Since you just have Bundler 2.0.1 (and Rubygems >= 2.7.0) installed, this fails with this rather unhelpful error message.

要解决这个问题,你可以

  • Gemfile.lock上拆下线路,然后使用bundler 2.从现在起,x无处不在,或者
  • 安装Bundle 机1.x版本与gem install bundler -v '< 2.0'一起使用Gemfile.lock指定的适当版本.

有关这方面的更多信息,请访问Bundler blog.

Ruby-on-rails相关问答推荐

rails中Net::STP的多文件模式

使用RubyZip处理大型压缩文件:65535个文件的限制

RubyOnRail在测试环境中启动失败

在URL中将下划线更改为连字符Ruby on Rails

带有data-turbo的rails`link_to‘未获得turbo_stream请求格式

使用Rails和RSpec,有没有办法查看操作真正将您带到哪个页面?

'elseif' 还存在吗?

Rails - 按连接表数据排序

$redis 全局变量与 ruby​​ on rails

如何添加到序列化数组

回形针图片网址

Rails 在关联模型中排序

不带参数的 request.fullpath

如何将变量 link_to 定义为外部 URL

通过 Ruby 或 Rails 的 LDAP

如何覆盖:在 has_many 中定义的顺序

has_many :通过 class_name 和 foreign_key

Ruby 安装的 RVM 不工作?

在 Rails 4.1 中,如何通过枚举符号查找记录?

为什么 rails bootstrap 这么慢,我该怎么办?