【问题标题】:Rails: I installed Ruby, now "bundle install" doesn't workRails:我安装了 Ruby,现在“捆绑安装”不起作用
【发布时间】:2023-03-15 03:05:01
【问题描述】:

我使用的是 Rails 4.2.7。我下载了一个示例,显然需要我使用 Ruby 2.1.6 而不是我安装的 Ruby 2.3.0 版本……

localhost:lti_tool_provider_example-master davea$ bundle install
Your Ruby version is 2.3.0, but your Gemfile specified 2.1.6

这就是我所做的。然而,安装 Ruby 2.1.6 后,现在“捆绑安装”不起作用……

localhost:lti_tool_provider_example-master davea$ rvm install ruby-2.1.6
Warning! PATH is not properly set up, '/Users/davea/.rvm/gems/ruby-2.3.0/bin' is not at first place,
         usually this is caused by shell initialization files - check them for 'PATH=...' entries,
         it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
         to fix temporarily in this shell session run: 'rvm use ruby-2.3.0'.
Warning, new version of rvm available '1.27.0', you are using older version '1.26.11'.
You can disable this warning with:    echo rvm_autoupdate_flag=0 >> ~/.rvmrc
You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
Searching for binary rubies, this might take some time.
Found remote file https://rubies.travis-ci.org/osx/10.12/x86_64/ruby-2.1.6.tar.bz2
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
ruby-2.1.6 - #configure
ruby-2.1.6 - #download
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 7630k  100 7630k    0     0  1199k      0  0:00:06  0:00:06 --:--:-- 1551k
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.1.6 - #validate archive
ruby-2.1.6 - #extract
ruby-2.1.6 - #validate binary
Libraries missing for ruby-2.1.6: cannot. Refer to your system manual for installing libraries
Mounting remote ruby failed with status 10, trying to compile.
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
Warning: DYLD_LIBRARY_PATH environment variable is set, this might interact with the compilation and ruby.
Installing Ruby from source to: /Users/davea/.rvm/rubies/ruby-2.1.6, this may take a while depending on your cpu(s)...
ruby-2.1.6 - #downloading ruby-2.1.6, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 11.4M  100 11.4M    0     0  2272k      0  0:00:05  0:00:05 --:--:-- 2354k
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.1.6 - #extracting ruby-2.1.6 to /Users/davea/.rvm/src/ruby-2.1.6....
ruby-2.1.6 - #configuring....................................................
ruby-2.1.6 - #post-configuration.
ruby-2.1.6 -    #compiling.......................................................................................................................................
ruby-2.1.6 - #installing...............
ruby-2.1.6 - #making binaries executable..
ruby-2.1.6 - #downloading rubygems-2.4.8
ruby-2.1.6 - #extracting rubygems-2.4.8.....
ruby-2.1.6 - #removing old rubygems.........
ruby-2.1.6 - #installing rubygems-2.4.8......................
ruby-2.1.6 - #gemset created /Users/davea/.rvm/gems/ruby-2.1.6@global
ruby-2.1.6 - #importing gemset /Users/davea/.rvm/gemsets/global.gems...............................................
ruby-2.1.6 - #generating global wrappers........
ruby-2.1.6 - #gemset created /Users/davea/.rvm/gems/ruby-2.1.6
ruby-2.1.6 - #importing gemsetfile /Users/davea/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.1.6 - #generating default wrappers........
ruby-2.1.6 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Install of ruby-2.1.6 - #complete 
Ruby was built without documentation, to build it run: rvm docs generate-ri
localhost:lti_tool_provider_example-master davea$ bundle install
-bash: bundle: command not found

如何在不干扰我刚安装的 Ruby 2.1.3 版本的情况下恢复“bundle”命令?

【问题讨论】:

  • 您也可以删除 Gemfile 中指定 Ruby 版本的行,看看它是否适用于您的版本。

标签: ruby ruby-on-rails-4 installation bundle


【解决方案1】:

与 Ruby 2.1.6 捆绑

你只需要安装bundler

rvm use ruby-2.1.6
gem install bundler

这将安装在特定于 ruby​​-2.1.6 的 gemset 中,因此它不会干扰您使用 ruby​​-2.3.0 安装的任何内容。你可以使用

bundle install

安装所需的 gem。

尝试使用 Ruby 2.3.0

或者,您可以通过更改

来尝试使用 ruby​​-2.3.0 下载的示例
ruby '2.1.6'

行或从Gemfile中删除。

【讨论】:

    【解决方案2】:

    只需执行以下操作

    1. 打开你的终端
    2. 运行 gem uninstall bundler 以卸载以前版本的 bundler
    3. 然后运行 ​​gem install bundler 以安装新的 bundler 副本

    你现在可以运行

    bundle install
    

    这对我有用

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。就我而言,问题的原因是 bundler gem 的两个冲突版本,它们的版本号非常接近。

      bundler (2.0.2, 2.0.1, default: 1.17.2)
      

      问题来自捆绑器版本 2.0.2 和版本 2.0.1

      这就是我修复它的方法。

      打开终端或命令行

      Ctrl + Alt + T
      

      N/B:以上命令适用于 Linux 用户,适用于 Windows 用户的命令可能不同

      显示捆绑器 gem 的所有本地 gem 列表

      gem list bundler
      

      N/B:上面的命令是针对 rbenv 版本管理器的,针对 rvm 的命令可能不同

      查看显示的 bundler gem 版本,您会看到一些密切相关的冲突版本,如下所示

      bundler (2.0.2, 2.0.1, default: 1.17.2)
      

      卸载捆绑器 gem

      gem uninstall bundler
      

      安装捆绑器 gem 的新副本

      gem install bundler
      

      现在再次尝试运行 bundle install 命令

      bundle install
      

      就是这样

      我希望这会有所帮助。

      【讨论】:

        【解决方案4】:

        如上所述,您必须再次重新安装 bundler gem(因为最后一个曾经并且实际上已附加到您拥有的先前版本,作为全局库,您实际上可以返回并再次将其设置为默认值,并且看到捆绑器仍然存在,因为通常您通过版本管理器 rbenvrvm 安装的所有 ruby​​ 版本都将保存在本地机器用户的文件夹中。

        逐步运行以下(以防万一)

        1. rvm list known
        2. 假设ruby-2.3.3 是最新的或您想要使用的人
        3. rvm install ruby-2.3.3
        4. rvm use --default 2.3.3
        5. gem install bundler
        6. bundle install

        在我的情况下,我在 OSX rvm 中也使用了rvm/Users/some_user/.rvm/rubies/default 中存储红宝石,所以只要记住使用正确的 rvm 的红宝石路径配置您的终端,在这种情况下,我应该仔细检查的文件将是 @ 987654332@ 我要查找的代码行将是 export PATH=$PATH:/Users/some_user/.rvm/rubies/default

        希望这对刚刚了解rvmrbenv 工作原理的人有所帮助,我期待bundler 作为流程的关键 部分更像是core library 本身(红宝石),但 bundler 是一个完全分离的 gem,这让我回想起来,真是个宝石!走的路!鼓舞人心的!

        【讨论】:

          猜你喜欢
          • 2017-10-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-19
          相关资源
          最近更新 更多