标签: rbenv

找不到Ruby Bundle符号:_SSLv2_client_method(LoadError)

我正在尝试使用自制软件对openssl进行一些更新,但我设法破坏了一切.我现在无法做任何事情,这是我尝试进行捆绑安装时得到的结果:

$ bundle install
/Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in    `require': dlopen(/Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method (LoadError)
Referenced from: /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
in /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle - /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/openssl.rb:17:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/security.rb:11:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/package.rb:43:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/dependency_installer.rb:3:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/installer.rb:2:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli/install.rb:78:in `run'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli.rb:146:in `install'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/command.rb:27:in `run'
    from …
Run Code Online (Sandbox Code Playgroud)

homebrew openssl ruby-on-rails rbenv

249
推荐指数
6
解决办法
5万
查看次数

rbenv没有改变ruby版本

我根据github方向安装了rbenv.我正在运行OSX,但我在Ubuntu 12.04 VM上尝试了这个并得到了相同的结果.当我尝试更改ruby版本时,以下是我在终端中获得的内容:

rbenv versions
* 1.9.3-p0 (set by /Users/user/.rbenv/version)
1.9.3-p125

rbenv global
1.9.3-p0

rbenv rehash

ruby -v
ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]

which ruby
/usr/bin/ruby
Run Code Online (Sandbox Code Playgroud)

任何人都有任何想法为什么rbenv没有像它认为的那样切换ruby版本?此外,本地目录中没有.rbenv文件会导致ruby版本默认为1.8.7

rbenv local
rbenv: no local version configured for this directory
Run Code Online (Sandbox Code Playgroud)

ruby rbenv

247
推荐指数
16
解决办法
15万
查看次数

RVM和rbenv如何实际工作?

我对RVM和rbenv如何实际工作感兴趣.

显然,他们在不同版本的Ruby和gemsets之间进行交换,但这是如何实现的呢?我曾经假设他们只是更新符号链接,但是深入研究代码(我必须承认我对Bash的了解是肤浅的),他们似乎做得比这更多.

ruby rubygems ruby-on-rails rvm rbenv

139
推荐指数
5
解决办法
2万
查看次数

命令rbenv install缺失

在Ubuntu 10.04中,我刚刚安装了rbenv.安装命令不存在.

rbenv 0.4.0-49-g8b04303
Usage: rbenv <command> [<args>]

Some useful rbenv commands are:
   commands    List all available rbenv commands
   local       Set or show the local application-specific Ruby version
   global      Set or show the global Ruby version
   shell       Set or show the shell-specific Ruby version
   rehash      Rehash rbenv shims (run this after installing executables)
   version     Show the current Ruby version and its origin
   versions    List all Ruby versions available to rbenv
   which       Display the full path to an executable
   whence      List …
Run Code Online (Sandbox Code Playgroud)

ruby rbenv

121
推荐指数
7
解决办法
5万
查看次数

由于readline错误,无法执行"rails console"

rails console由于此错误,我无法执行:

localhost:TwitterForZombies wiz$ rails c
/Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `require': dlopen(/Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib (LoadError)
  Referenced from: /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
  Reason: image not found - /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `require'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `<top (required)>'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `require'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我通过自制软件安装了readline.我想继续使用rbenv而不是rvm.

感谢您阅读我的问题.

ruby homebrew ruby-on-rails ruby-on-rails-3 rbenv

86
推荐指数
7
解决办法
2万
查看次数

从rbenv卸载ruby版本

如何从rbenv卸载或删除ruby版本.我已经安装了两个版本的ruby.切换到ruby 1.9.3时,我遇到了分段错误.任何人都可以请求帮助,如何从rbenv中删除特定版本?

ruby rbenv

79
推荐指数
2
解决办法
5万
查看次数

rbenv,rvm和chruby有什么区别?

我是Ruby和Rails的新手.我正在寻找一个纯粹客观的功能列表,每个功能和优点/缺点.为了保持偏好,除非您使用了所有3个系统,否则请不要回答.

ruby rvm rbenv chruby

59
推荐指数
1
解决办法
3万
查看次数

rbenv install --list未列出版本2.1.2

我在OS X 10.9.3 MacBook Pro上通过Homebrew安装了rbenv.

我做了:

brew update
brew upgrade rbenv ruby-build 
Run Code Online (Sandbox Code Playgroud)

根据rbenv install --list我的笔记本电脑Ruby 2.1.0-dev是最新的.

有谁知道这是关于什么的?我猜这是一个10.9.3的问题.

ruby macos homebrew rbenv osx-mavericks

57
推荐指数
7
解决办法
3万
查看次数

RVM相当于PHP?

我似乎找不到快速切换PHP版本的方法.有没有相当于PHP的ruby版本管理器的东西?我需要在OS X上切换5.3和5.2.

php ruby homebrew rvm rbenv

52
推荐指数
3
解决办法
2万
查看次数

rbenv:没有宝石的幸存

TL; DR

  • 不要打扰宝石; 可以同时安装多个版本的gem.
  • 必要时,使用$ gem-based-binary _version_ args表示法指定要执行的版本.
  • 使用bundle exec指定版本的Gemfile时使用.
gem install rails -v 3.2.13
rails _3.2.13_ new Project2
cd Project2
bundle exec rails server
Run Code Online (Sandbox Code Playgroud)

更新时间: 2015-06-04

我三年前写过这个问题.部分地,它是基于错误的假设,部分情况从那时起发生了变化.感谢@indirect的原始答案,我想提请注意@kelvin的更新(不太热烈)的答案,如上所述.

我的错误假设:一次只能安装一个gem的单个版本,因此需要gemsets来隔离命名空间.不对.可以同时安装多个版本的gem.从命令行调用时将使用最新的一个,除非您有一个Gemfile指定版本约束并通过命令调用命令bundle exec,或指定版本作为其第一个参数.

另请参阅如何从命令行调用旧版本的gem?re:下划线版本表示法.


原始问题:

我有多个项目正在使用不同版本的Rails.我有一个工作流程(如下所述),用于使用特定版本的rails创建项目,并保持项目彼此隔离.我想尝试其他工作流程,特别是使用rbenv而不是RVM,但目前尚不清楚如何这样做.

问题:当使用rbenvbundler而不是rbenv-gemset或rvm 时,创建多个rails项目 的最佳当前实践是什么,每个项目使用不同版本的rails .

用例: 我有两个rails项目,名为ProjectA和ProjectB.ProjectA是使用一个版本的rails("RailsA")开发的,而ProjectB使用不同的版本("RailsB").如何安装两个版本?

GEMSETS方法: 当我第一次开始使用Rails开发时,我使用了RVM.除了支持多个并发安装的ruby之外,RVM还支持具有多个命名宝石集.每个项目都有自己独立的宝石集合(包括rails本身),称为gemset:

rvm gemset create RailsA
rvm gemset use RailsA
# RailsA.  Note: My question is not version-specific.
gem install rails --version …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems ruby-on-rails bundler rbenv

43
推荐指数
3
解决办法
1万
查看次数