问题标签 [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.
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 做些什么吗?
ruby - chruby: 如何使用默认系统 ruby?
有没有办法通过选择默认的系统范围的红宝石chruby
?
例如:
ruby - 使用 chruby 时如何迁移 Ruby gem
使用 chruby 时,有没有办法将 gem 从已安装的 Ruby 上的先前版本迁移到新安装的 Ruby 版本?
ruby-on-rails - 在 Rails 中使用 Capistrano 部署时无法运行 /etc/profile.d/chruby.sh
我一直在尝试在 EC2 实例上部署我的 rails 应用程序。我已经采取的步骤是
本地:
我通过写入
/li>Gemfile
和安装了所有的宝石bundle install
:我编辑了我
/li>Capfile
的需要模块我也做了必要的改变
/li>config/deploy.rb
,特别是
在服务器/实例上:
- 安装红宝石
安装 Chruby 并包含在
/li>/etc/profile.d/chruby.sh
这些中:为 app 创建了一个文件夹,还创建
database.yml
了application.yml
.
完成所有这些后,当我运行时cap production deploy
,它开始检查和 git 克隆以及链接文件和目录但失败bundler:install
,给出一个错误,如
由于只有使用 RVM 或 JRuby 将 Rails 部署到 AWS 的示例,因此我无法弄清楚我哪里出错了。
ruby - 如何让 bundler 使用 chruby 和 .ruby-version 设置的 Ruby 版本?
我很高兴为运行 Ruby 1.8.7 的应用程序设置开发环境。不幸bundler
的是没有使用 Ruby 中设置的.ruby-version
版本chruby
。
另外,我已经ruby "1.8.7"
包含在Gemfile
而本地版本是ruby-1.8.7-p374
,bundler
环境是使用ruby-2.5.0p0
。
这将导致以下消息:
这个问题包含一些有用的评论,但到目前为止我还没有解决这个问题。/usr/local/opt
由于vim
通过安装,我确实安装了 Ruby 2.5.0 brew install vim
。这似乎是 Ruby 1.8.7 捆绑脚本正在使用的版本,如下所示:
这个问题被证明是相当令人沮丧的。我将非常感谢任何建议。
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 版本?
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
结果:没有区别。
ruby - 如何从 ruby 脚本调用 chruby
我正在编写一个 ruby 脚本来引导一台新的 macbook 计算机。我安装chruby
并ruby-install
通过自制软件。如果我chruby
从命令行调用它可以工作。
但是,如果我从这样的红宝石脚本中调用它。
我收到这个错误
作为测试,我尝试了这个
我ruby-install
在脚本中得到与命令行相同的输出。
有人对我做错了什么有任何想法吗?
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 上同样失败。
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 中运行这个脚本(不包括错误之后)
结果是:
第 19 行是require 'mini_exiftool'
mini_exiftool
在宝石列表中,但为什么会出错?
如果我使用系统 Ruby 运行脚本(采用默认值,在 TM 中没有设置任何内容)
脚本运行并输出以下输出:
这个特定的脚本在 2.3.7 中是可以的,但其他的可能不是。
谢谢你的帮助。
这篇文章是我之前发帖的简化版。我想我已经把问题归结了。