ruby-on-rails - 没有 RVM 的两个不同的 ruby​​ 版本

标签 ruby-on-rails ruby linux

我是 ruby​​ 的新手,所以请帮助我。 我在我的机器上安装了两个 ruby​​ 版本,一个在/usr/bin/ruby 中,另一个在/usr/local/bin/ruby 中。当我尝试运行任何捆绑命令,如“/usr/local/bin/bundle exec”它无法找到相应的 ruby​​ 和 rake gems。我的环境 $PATH 变量是“/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/usr/local/bin”,但是当我运行“/usr/local/bin/bundle env”时,我得到了以下输出 环境

Bundler   1.10.6
Rubygems  1.8.28
Ruby      2.2.5p319 (2016-04-26 revision 0) [x86_64-linux]
Git       2.7.4

gem 文件

# Passenger Version Gemfile
source "https://rubygems.org"

# gem "rails"
gem 'rack', '1.6.4'
gem 'passenger', '~>  4.0.59'

Gemfile.lock

GEM
  remote: https://rubygems.org/
  specs:
    daemon_controller (1.2.0)
    passenger (4.0.60)
      daemon_controller (>= 1.2.0)
      rack
      rake (>= 0.8.1)
    rack (1.6.4)
    rake (11.3.0)

PLATFORMS
  ruby

DEPENDENCIES
  passenger (~> 4.0.59)
  rack (= 1.6.4)

BUNDLED WITH
   1.10.6

但是我的 bundle exec 命令无法找到 rake 或 ruby​​ 版本。我遗​​漏了什么吗??

最佳答案

Ruby、bundler 和 gem 都需要一组一致的路径和环境变量来定位各种脚本、binstub、gemset 和可执行文件。 RVM 和 rbenv 已经为你解决了为每个版本设置这个的问题。如果你下定决心,你可以自己搭建环境,但你需要学习那些版本管理器的作者在编写代码时所学到的知识。我使用 rbenv,文档很好地描述了 rbenv 在为每个已安装的 ruby​​ 维护一致环境方面所做的工作。

关于ruby-on-rails - 没有 RVM 的两个不同的 ruby​​ 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40309009/

相关文章:

c - linux自动删除文件

php - 如何使用 bitnami/linux 终端更改我的 php 应用程序的 php 版本

ruby - "install from the lastest build"是什么意思?

ruby - 如何在 Rack::Builder::map 中使用 Lotus 路由器

ruby-on-rails - RSpec 测试中的 Rails Engine 宿主应用程序类

ruby-on-rails - 用于 Facebook 的 omniauth.auth 未返回完整哈希值且无法使用 facebook 成功登录

ruby - Ruby 有 mkdir -p 吗?

linux - 最大 CPU 使用率(最大允许 CPU 使用率)

ruby-on-rails - 简单的 RoR 下拉框,将值作为参数传递

ruby-on-rails - rails migration 在本地 Postgresql 上运行但在产品上失败