我是 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/