问题标签 [chruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
422 浏览

ruby-on-rails - Chruby 和 RVM 我不记得曾经安装过 Chruby,但我一直收到这条消息 chruby: unknown Ruby: ruby​​-2.3.3

我在这里做了一些阅读,如果我已经有 RVM,我不确定我是否理解 Chruby 的区别或必要性。我不记得专门安装它,而且我读得越多,我就越对它实际上应该为我做的事情感到困惑。

我最近重新安装了 RVM 并更新到 Ruby 2.3.3,这时我开始看到chruby: unknown Ruby: ruby-2.3.3警告。当我读到关于 Chruby 的内容时,如果我理解正确的话,它具有与 RVM 相同的功能,因为它可以在 rubies 之间切换,但是它不会安装它们。

我不明白的是,如果 RVM 可以做这两件事,为什么我需要 Chruby,为什么还要与 RVM 同时安装?两个功能相似的软件之间在谁负责设置当前的 ruby​​ 上是否存在某种冲突?它是如何进入我的系统的?我应该对 chruby 和/或 rvm 做些什么吗?

0 投票
1 回答
523 浏览

ruby - chruby: 如何使用默认系统 ruby​​?

有没有办法通过选择默认的系统范围的红宝石chruby

例如:

0 投票
1 回答
104 浏览

ruby - 使用 chruby 时如何迁移 Ruby gem

使用 chruby 时,有没有办法将 gem 从已安装的 Ruby 上的先前版本迁移到新安装的 Ruby 版本?

0 投票
2 回答
285 浏览

ruby-on-rails - 在 Rails 中使用 Capistrano 部署时无法运行 /etc/profile.d/chruby.sh

我一直在尝试在 EC2 实例上部署我的 rails 应用程序。我已经采取的步骤是

本地:

  1. 我通过写入Gemfile和安装了所有的宝石bundle install

    /li>
  2. 我编辑了我Capfile的需要模块

    /li>
  3. 我也做了必要的改变config/deploy.rb,特别是

    /li>

在服务器/实例上:

  1. 安装红宝石
  2. 安装 Chruby 并包含在/etc/profile.d/chruby.sh这些中:

    /li>
  3. 为 app 创建了一个文件夹,还创建database.ymlapplication.yml.

完成所有这些后,当我运行时cap production deploy,它开始检查和 git 克隆以及链接文件和目录但失败bundler:install,给出一个错误,如

由于只有使用 RVM 或 JRuby 将 Rails 部署到 AWS 的示例,因此我无法弄清楚我哪里出错了。

0 投票
3 回答
635 浏览

ruby - 如何让 bundler 使用 chruby 和 .ruby-version 设置的 Ruby 版本?

我很高兴为运行 Ruby 1.8.7 的应用程序设置开发环境。不幸bundler的是没有使用 Ruby 中设置的.ruby-version版本chruby

另外,我已经ruby "1.8.7"包含在Gemfile

而本地版本是ruby-1.8.7-p374bundler环境是使用ruby-2.5.0p0

这将导致以下消息:

这个问题包含一些有用的评论,但到目前为止我还没有解决这个问题。/usr/local/opt由于vim通过安装,我确实安装了 Ruby 2.5.0 brew install vim。这似乎是 Ruby 1.8.7 捆绑脚本正在使用的版本,如下所示:

这个问题被证明是相当令人沮丧的。我将非常感谢任何建议。

0 投票
1 回答
2537 浏览

ruby - 如何在 gem 环境中设置正确的 Ruby 版本

注意:这个问题与如何让捆绑程序使用 chruby 和 .ruby-version 设置的 Ruby 版本有关?.

使用chruby我在 macOS 上安装了 Ruby 1.8.7:

另外,我曾经gem update --system 1.8.30安装过我希望兼容的特定版本的 RubyGems。这似乎已正确安装:

但是,我的 RubyGems 环境显示了不正确的 Ruby 版本(2.5.0):

如何修复 RubyGems 环境以使用chruby已设置的 Ruby 版本?

0 投票
1 回答
660 浏览

ruby-on-rails - Rails 5 生产错误:无法为关注定义多个“包含”块 (ActiveSupport::Concern::MultipleIncludedBlocks)

我在部署生产(远程和本地)时遇到错误。开发运行得很好。

Rails 5 应用程序,使用solidus.

环境:

  • 红宝石 2.3.1
  • (或红宝石 2.5.1)
  • 导轨 5.1.6
  • 捆绑器 1.16.1
  • 小猪

宝石:

在阅读bootsnap线程(https://github.com/rails/rails/issues/15767)“”的答案后,Cannot define multiple 'included' blocks for a Concern (ActiveSupport::Concern::MultipleIncludedBlocks)我尝试了:

切换config.cache_classes = false 结果:没有区别。

切换config.autoload_paths_cache = false结果:没有区别。

0 投票
1 回答
206 浏览

ruby - 如何从 ruby​​ 脚本调用 chruby

我正在编写一个 ruby​​ 脚本来引导一台新的 macbook 计算机。我安装chrubyruby-install通过自制软件。如果我chruby从命令行调用它可以工作。

但是,如果我从这样的红宝石脚本中调用它。

我收到这个错误

作为测试,我尝试了这个

ruby-install在脚本中得到与命令行相同的输出。

有人对我做错了什么有任何想法吗?

0 投票
2 回答
558 浏览

ruby - chruby 和 Ruby gems“不能加载这样的文件——”

我最近搬到了新的 iMac 并进行了全新安装。因此,并非一切都像在我的 MBP 上那样工作。我进行了@awsmsce 建议的几处更改,并将其合并到以下内容中。还是有问题。

使用 gem mini_exiftool 的 ruby​​ 脚本在从 TextMate 运行时会引发错误(从命令行运行时会出现同样的错误)。这是脚本的开头。

TextMate 报告LoadError: cannot load such file — mini_exiftool

method require in kernel_require.rb at line 55

路径可能表明存在问题kernel_require.rb/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb运行的红宝石与宝石所在的地方不同。但是现在有了@awsmsce 推荐的更改,/Users/gscar/.rubies/ruby-2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb所以这不是问题

终端chruby>>* ruby-2.5.1

ruby -v>>ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]

gem list>>mini_exiftool (2.9.0)

exiftool -ver>>11.17

TextMatePATH变量是$PATH:$HOME/.rubies/ruby-2.5.1/bin:$HOME/.rubies/ruby-2.5.1/shims:/usr/local/bin:/usr/texbin:/opt/local/bin

system('gem env')

我在旅行一个月后更新了这个,仍然需要这个脚本。我更改了 gems 的顺序,显示一些下载但没有其他的。gem list节目mini_exiftool (2.9.0)等。如果我硬编码,require '/Users/gscar/.gem/ruby/2.5.1/gems/mini_exiftool-2.9.0/lib/mini_exiftool.rb'那么脚本在另一个 gem 上同样失败。

0 投票
1 回答
189 浏览

ruby - 具有 chruby 和 TextMate 首选项的 macOS 中的 gem 位置

我无法让 Ruby gem 在 macOS 上与 TextMate (TM) 和 chruby 一起正常工作。

大约六个月前在 2017 iMac 上全新安装 Mojave(现为 v10.14.4)。

尝试使用 Ruby-2.6.2,尽管已经安装了早期版本。系统 Ruby 是 v2.3.7

我最终在至少三个位置获得了宝石:

~/.rubies/ruby-2.6.2/lib/ruby/gems/2.6.0/gems/
~/.gem/ruby/2.6.2/gems/
/Library/Ruby/Gems/2.3.0/gems/

TextMate 依赖其对 gem 和 Ruby 位置的首选项。作为开始,我有以下内容: 在此处输入图像描述 GEM_HOME 未设置,因为我不明白为什么需要它,尽管我经常阅读以将其设置为所示或类似。GEM_HOME 和 GEM_PATH定义为

GEM_PATH 提供了可以找到 gem 的位置(可能有多个)。

GEM_HOME 是安装 gem 的地方(默认情况下)。

问题是当我在 TM 中运行这个脚本(不包括错误之后)

结果是:

TextMate 把它放在输出的右上角在此处输入图像描述

第 19 行是require 'mini_exiftool'

mini_exiftool在宝石列表中,但为什么会出错?

如果我使用系统 Ruby 运行脚本(采用默认值,在 TM 中没有设置任何内容) 系统红宝石

脚本运行并输出以下输出:

这个特定的脚本在 2.3.7 中是可以的,但其他的可能不是。

谢谢你的帮助。

这篇文章是我之前发帖的简化版。我想我已经把问题归结了。