捆绑器安装不正确

时间:2019-01-07 09:55:33

标签: ruby ubuntu bundler rbenv windows-subsystem-for-linux

我真迷失了。我在Windows上安装了Ubuntu,并使用curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash安装了rbenv。在我的.zshrc文件中添加了相关的行,安装了必要的ruby版本,因此现在ruby -v命令按原样显示ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]。我运行的sudo gem install bundler打印得很好,Successfully installed bundler-2.0.1。但是当我运行bundler命令时,我得到:

Traceback (most recent call last):
        2: from /home/michal-sadowski/.rbenv/versions/2.5.3/bin/bundler:23:in `<main>'
        1: from /home/michal-sadowski/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/home/michal-sadowski/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)

我该怎么做才能使其运行?

which bundler给出/home/michal-sadowski/.rbenv/shims/bundler which ruby给出/home/michal-sadowski/.rbenv/shims/ruby

1 个答案:

答案 0 :(得分:1)

这是各种各样的问题。

  1. 我不应该使用sudo,这很合理,因为它断路了
  2. 我不必首先使用sudo-但直接通过sudo apt install ruby-full安装ruby很可能会限制对必要文件夹的访问权限
  3. 在卸载系统默认的ruby版本并重新安装rbenv之后,我可以无错误地调用bundler-只是不在正确的文件夹中。原来,问题是一个旧的gemfile引起的gemlock文件捆绑了字段设置为1.x的捆绑。删除了gemlock文件和该依赖性之后,它或多或少地顺利进行了。