我正在尝试在 Ubuntu 14.04 上安装 Ruby + Rails。我需要多个用户才能访问 Ruby,因此我在/opt/.rbenv目录中安装了带有 ruby-build 的 rbenv。是对的吗?
如果我尝试使用以下命令安装 Ruby 版本
rbenv install 2.1.3
Run Code Online (Sandbox Code Playgroud)
它安装在~/username/.rbenv/versions,而不是在/opt/.rbenv/versions。
我不想让第二个用户访问其他用户的主目录。
如何安装 Ruby /opt/.rbenv?或者还有其他解决方案吗?
我正在尝试调试一个简单的 ruby 控制台脚本,但在尝试要求 pry 时出现加载错误:
/Users/gangelo/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': 无法加载此类文件——撬(LoadError)
我过去在 Rails 应用程序中使用过 Pry 和 Byebug,从来没有遇到过这样的问题。在寻找解决方案时,我发现大多数问题都与在 Gemfile 中不包含 Pry 或在 Gem 文件的正确环境中不包含 Pry gem 相关;这不是我的情况,我做错了什么?
# /Gemfile
group :development, :test do
gem 'pry', '~> 0.10.4'
end
Run Code Online (Sandbox Code Playgroud)
在我的脚本中:
# /calculator/rpn_calculator_service.rb
module RealPage
module Calculator
# Provides Reverse Polish Notation computation services.
class RPNCalculatorService < CalculatorService
include Helpers::Arrays
def initialize
super RPNInputParser.new
end
def compute(input)
# Load error here :(
require 'pry'; binding.pry
# …Run Code Online (Sandbox Code Playgroud) 这个问题的出现取决于我正在处理的 Ruby 项目。VSCode 任务通常不会从正确的rbenvRuby 版本运行。有时,如果我先从集成终端手动运行命令,然后运行代码任务,它会选择正确的 Ruby。
示例 VSCode 任务,
{
"version": "2.0.0",
"tasks": [
{
"label": "Run All Tests",
"type": "shell",
"command": "bin/rails test",
"group": "test",
"presentation": {
"reveal": "always",
"panel": "shared"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
当从项目目录(或任何其他方式)启动代码时,如果我运行此任务,它将从系统 ruby 的上下文运行。但是,如果我打开集成终端并输入bin/rails test(有效),然后再次运行该任务,它将在正确的rbenvshimed ruby 上下文中运行。
然而,启动调试器会话确实可以在正确的 Ruby 上下文中工作,所以我真的不明白错过了什么。
rbenv 不显示较新版本的 Ruby。
各种指南都说要更新 ruby build,但我没有在我的安装中设置 ruby-build 目录来执行此操作。
我该怎么办?
我正在尝试运行一个 Ruby on Rails 项目,该项目的版本2.4.1和我的系统是2.6.x. 我所做的是通过 Rbenv 安装旧版本的 Ruby 然后我执行了以下命令:
rbenv global 2.4.1 -> to change global Ruby version
ruby -v
ruby 2.6.5p114
rbenv global
2.4.1
Run Code Online (Sandbox Code Playgroud)
所以有问题,因为我想使用 2.4.1 但似乎不起作用。我无法启动捆绑包,因为它说我没有安装 2.4.1。
我需要一个 Mac OS Catalina 的解决方案,就像我在网上找到的那样,但没有任何效果并且无法启动该项目。
我正在使用 rbenv 并在 Ec2 实例中尝试安装 ruby 不同版本,但是当我执行
rbenv install 2.7.2
Run Code Online (Sandbox Code Playgroud)
出现以下错误。
Downloading ruby-2.7.2.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.2.tar.bz2
Installing ruby-2.7.2...
BUILD FAILED (Ubuntu 20.04 using ruby-build 20210119)
Inspect or clean up the working tree at /tmp/ruby-build.20210217075101.162094.zs1iDJ
Results logged to /tmp/ruby-build.20210217075101.162094.log
Last 10 log lines:
compiling mjit.c
compiling mjit_compile.c
compiling node.c
compiling numeric.c
compiling object.c
compiling pack.c
compiling parse.c
gcc: fatal error: Killed signal terminated program cc1
compilation terminated.
make: *** [Makefile:421: parse.o] Error 1
Run Code Online (Sandbox Code Playgroud)
同时,我的系统使用默认的 ruby 版本
ubuntu@ip-112-34-9-342:~$ rbenv versions
* system (set …Run Code Online (Sandbox Code Playgroud) 最近,我一直在尝试在本地工作区上开发 Rails 项目。我刚刚更换了笔记本电脑(Macbook pro M1),从那时起,我一直无法安装 Ruby 2.6.6 和/或 2.6.7。这是我运行时的错误输出rbenv install 2.6.6:
Last 10 log lines:
compiling ../.././ext/psych/yaml/dumper.c
compiling ../.././ext/psych/yaml/reader.c
compiling ../.././ext/psych/yaml/emitter.c
compiling ../.././ext/psych/yaml/parser.c
linking shared-object date_core.bundle
5 warnings generated.
linking shared-object zlib.bundle
1 warning generated.
linking shared-object psych.bundle
make: *** [build-ext] Error 2
Run Code Online (Sandbox Code Playgroud)
然后我检查了 rbenv install --list,它列出了 2.5.9、2.6.7、2.7.3 和 3.0.1。因此,我尝试安装 2.6.7,但这也不起作用。显然,Ruby 2.6.7 的安装是一个已知错误,目前尚未修复(link1、link2)。
如果有人有解决此问题的经验,请告诉我一些解决方案。我一整天都被这个错误困扰,我非常绝望:(。
我在安装 (2.7.2) 以外的任何其他 ruby 版本时遇到问题。有没有人有任何提示?大苏尔。
我无法使用 rbenv 安装任何 ruby 版本。我尝试了 2.6.10 2.7.7 或 3.2.0 。
\n这是我执行时遇到的错误:
\n\xe2\x9d\xaf rbenv install 3.2.0\nTo follow progress, use 'tail -f /var/folders/4v/kyv3nw1s7lq8s7lz7r6djvsr0000gn/T/ruby-build.20230125170342.85553.log' or pass --verbose\nDownloading openssl-3.0.7.tar.gz...\n-> https://dqw8nmjcqpjn7.cloudfront.net/83049d042a260e696f62406ac5c08bf706fd84383f945cf21bd61e9ed95c396e\nInstalling openssl-3.0.7...\nInstalled openssl-3.0.7 to /Users/idanahal/.rbenv/versions/3.2.0\n\nDownloading ruby-3.2.0.tar.gz...\n-> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.0.tar.gz\nInstalling ruby-3.2.0...\nruby-build: using readline from homebrew\nruby-build: using gmp from homebrew\n\nBUILD FAILED (macOS 13.1 using ruby-build 20221225)\n\nInspect or clean up the working tree at /var/folders/4v/kyv3nw1s7lq8s7lz7r6djvsr0000gn/T/ruby-build.20230125170342.85553.VSOgmw\nResults logged to /var/folders/4v/kyv3nw1s7lq8s7lz7r6djvsr0000gn/T/ruby-build.20230125170342.85553.log\n\nLast 10 log lines:\ncompiling ossl_x509ext.c\ncompiling ossl_x509name.c\ncompiling ossl_x509req.c\ncompiling ossl_x509revoked.c\ncompiling ossl_x509store.c\ninstalling default openssl libraries\nlinking shared-object date_core.bundle\nlinking shared-object openssl.bundle\nlinking shared-object ripper.bundle\nmake: *** [build-ext] Error …Run Code Online (Sandbox Code Playgroud) 我试图让rvm卸载,以便在我的Mac上使用rbenv.一切正常,直到红宝石发挥作用..
使用时
rbenv install 1.9.3-p194
Run Code Online (Sandbox Code Playgroud)
它正确编译它,但在那之后我想安装bundler ..这会产生以下错误
computer:~ computer$ gem install bundler
/Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:203:in `parse': (<unknown>): mapping values are not allowed in this context at line 1 column 34 (Psych::SyntaxError)
from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:151:in `parse'
from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:127:in `load'
from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/config_file.rb:253:in `load_file'
from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/config_file.rb:191:in `initialize'
from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:in `new'
from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:in `do_configuration'
from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/gem_runner.rb:51:in `run'
from /Users/computer/.rbenv/versions/1.9.3-p194/bin/gem:21:in `<main>'
Run Code Online (Sandbox Code Playgroud)
然后我尝试安装旧版本的ruby 1.9.3-p125 ..但是,即使是构建也不会完成类似的错误,也依赖于这个心理翻译...... :(
computer-2:~ computer$ rbenv install 1.9.3-p125
Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /Users/computer/.rbenv/versions/1.9.3-p125
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz...
Installing ruby-1.9.3-p125...
Installed ruby-1.9.3-p125 to …Run Code Online (Sandbox Code Playgroud) rbenv ×10
ruby ×10
amazon-ec2 ×1
binding.pry ×1
homebrew ×1
macos ×1
pry ×1
psych ×1
ruby-2.7 ×1
ruby-3 ×1
ruby-build ×1
ubuntu-14.04 ×1