标签: rbenv

irb加载错误的ruby和gem路径,使用rbenv

我开始使用rbenv进行ruby版本管理,我发现irb没有加载正确的ruby版本和gem版本.这是详细信息.

irb Gem.path说:

`>> Gem.path  
 => ["/Users/Air/.gem/ruby/1.8", "/Library/Ruby/Gems/1.8", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8"]`
Run Code Online (Sandbox Code Playgroud)

现在在irb如果我输入:puts $:

`>> puts $:  
/Library/Ruby/Site/1.8  
/Library/Ruby/Site/1.8/powerpc-darwin11.0  
/Library/Ruby/Site/1.8/universal-darwin11.0  
/Library/Ruby/Site  
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin11.0  
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby  
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8  
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin11.0  
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin11.0`
Run Code Online (Sandbox Code Playgroud)

在shell中我输入:gem env

`RubyGems Environment:  
  - RUBYGEMS VERSION: 1.8.10  
  - RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.0.1]  
  - INSTALLATION DIRECTORY: /Users/Air/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1  
  - RUBY EXECUTABLE: /Users/Air/.rbenv/versions/1.9.2-p290/bin/ruby  
  - EXECUTABLE DIRECTORY: /Users/Air/.rbenv/versions/1.9.2-p290/bin  
  - RUBYGEMS PLATFORMS:  
    - ruby  
    - x86_64-darwin-11  
  - GEM PATHS:  
     - /Users/Air/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1  
     - /Users/Air/.gem/ruby/1.9.1  
  - GEM CONFIGURATION:  
     - :update_sources => true  
     - :verbose => true  
     - …
Run Code Online (Sandbox Code Playgroud)

ruby gem rubygems irb rbenv

2
推荐指数
2
解决办法
6576
查看次数

capistrano部署rails3.2 app中的bundle:install命令在哪里?

我正在尝试使用capistrano和rbenv在prod服务器上部署rails 3.2 app.

Bundle失败所以我想覆盖bundle:install回调钩子但是我找不到capistrano gem sorce中的方法.

这个/哪个文件声明了?

capistrano bundler rbenv

2
推荐指数
1
解决办法
2899
查看次数

无法更改rbenv全球红宝石版本

我最近从RVM切换到rbenv,即使'rbenv版本'告诉我我想切换到该版本,我似乎也无法在ruby版本之间切换。

我在做什么:

ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
Run Code Online (Sandbox Code Playgroud)

我想切换到1.9.2-p290,因此请确保在我的版本中安装了它:

ruby versions
1.8.7-p370
1.9.2-p290
1.9.3-p125
1.9.3-rc1
Run Code Online (Sandbox Code Playgroud)

好了,现在我知道我可以尝试更改全局rbenv:

rbenv global 1.9.2-p290
ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
Run Code Online (Sandbox Code Playgroud)

似乎1.8.7仍是活跃的全球红宝石。

因此,让我们尝试使其在我的项目中本地化。rbenv本地1.9.2-p290

这将在我的rails项目中创建一个.rbenv-versions文件。伟大的尝试运行捆绑:

Gem::InstallError: factory_girl requires Ruby version >= 1.9.2.
An error occurred while installing factory_girl (4.1.0), and Bundler cannot continue.
Make sure that `gem install factory_girl -v '4.1.0'` succeeds before bundling. 
Run Code Online (Sandbox Code Playgroud)

我不确定下一步该怎么做...

ruby-on-rails rbenv

2
推荐指数
1
解决办法
3349
查看次数

Pow不使用RBENV使用Ruby 2.0

我通过rbenv(ruby-build)安装了Ruby 2.0.0-p247 ,不幸的是我的Pow.cx无效.

有没有人有过这样的经历?

我得到以下战俘

Error starting application
Your Rack app raised an exception when Pow tried to run it.

~/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
~/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
~/Code/sandwiches_app/config/boot.rb:6:in `<top (required)>'
~/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
~/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
Run Code Online (Sandbox Code Playgroud)

非常感谢任何见解.它看起来像是在查看1.9.3版本的Ruby,但我已经设置了rbnenv全局,shell和本地(在应用程序.ruby-version中)以使用Ruby 2.0.0-p247.我正在使用ZSH并尝试更新自制程序,rbenv以及冷启动.

ruby ruby-on-rails rbenv rack-pow

2
推荐指数
1
解决办法
2706
查看次数

为什么不安装nokogiri?

我有一个时间在Ubuntu 12.04上安装Nokogiri的魔鬼.我用rbenv.

    $ gem install nokogiri -v '1.6.1'
    ERROR:  While executing gem ... (Errno::EACCES)
        Permission denied - /home/deploy/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.1/.autotest

    $ sudo gem install nokogiri -v '1.6.1'
    ERROR:  Error installing nokogiri:
        nokogiri requires Ruby version >= 1.9.2.

    $ rbenv sudo gem install nokogiri -v '1.6.1'
    Building native extensions.  This could take a while...
    ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

        /home/deploy/.rbenv/versions/2.0.0-p353/bin/ruby extconf.rb

    Gem files will remain installed in /home/deploy/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.1 for inspection.
    Results logged to /home/deploy/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.1/ext/nokogiri/gem_make.out

    $ ruby -v …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems nokogiri rbenv ubuntu-12.04

2
推荐指数
1
解决办法
2642
查看次数

Bundler + Guard + Rspec + Rbenv ="你已经激活了......"

Guard 这个问题一直让我讨厌:

.../gems/bundler-1.6.2/lib/bundler/runtime.rb:34:in `block in setup': You have already activated multi_json 1.10.0, but your Gemfile requires multi_json 1.9.2. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
Run Code Online (Sandbox Code Playgroud)

我知道我可以做bundle update或者gem uninstall指定确切的版本Gemfile.

有没有办法一劳永逸地解决这个问题?所以警卫发射bundle exec rspecbin/rspec(我正在使用rbenv)?我想我在github的某个地方看到了一个补丁,但我现在找不到它.

更新

只是为了记录在这里即使发生了什么bundle exec:

$ bundle exec guard
17:11:07 - INFO - Guard is using TerminalNotifier to send notifications.
17:11:07 - INFO - Guard is using TerminalTitle to send notifications.
17:11:07 - INFO …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails guard rbenv

2
推荐指数
1
解决办法
537
查看次数

错误:"尝试安装捆绑软件时,设备上没有剩余空间"

我正在使用TeamTreehouse.com(设置)推荐的虚拟盒设置(vagrant和virtualbox),每次我尝试启动新项目或安装新gem时,都会出现以下错误:

Errno::ENOSPC: No space left on device - /home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/execjs-2.2.1

要么

Errno::ENOSPC: No space left on device - /home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/cache/rails_serve_static_assets-0.0.2.gem
Run Code Online (Sandbox Code Playgroud)

或者当我进入虚拟框时我会得到

/home/treehouse/.rbenv/libexec/rbenv-init: line 151: cannot create temp file for here-document: No space left on
 device
Run Code Online (Sandbox Code Playgroud)

我现在有几个项目,我想我在某个地方消耗了太多空间,但我不知道虚拟盒子的工作原理.它运行Ubuntu 12.04.3 LTS(GNU/Linux 3.8.0-41-generic i686).这是我的df -h日志

Filesystem                      Size  Used Avail Use% Mounted on
/dev/mapper/treehouse--vg-root  7.0G  4.8G  2.0G  72% /
udev                            240M  4.0K  240M   1% /dev
tmpfs                            50M  292K   50M   1% /run
none                            5.0M     0  5.0M   0% /run/lock
none                            248M     0  248M   0% /run/shm …
Run Code Online (Sandbox Code Playgroud)

virtualbox ruby-on-rails vagrant rbenv

2
推荐指数
1
解决办法
7462
查看次数

供应商/捆绑包和 ruby​​ 版本

我想知道我是否在使用 rbenv 和 bundler 时做错了。

我正在使用rbenv和 ruby​​ 2.1.2,就像这样

rbenv versions
  system
* 2.1.2 (set by /home/deploy/cp/repo/.ruby-version)
Run Code Online (Sandbox Code Playgroud)

我跑

bundle install --deployment --without=development,test --path=vendor/bundle

/home/deploy/cp

但得到

vendor/bundle/ruby/2.1.0

用我所有的宝石创造的。是否有我不知道的 bundler 版本控制方案,或者我应该看到一个

/home/deploy/cp/repo/vendor/bundle/ruby/2.1.2

目录?

ruby ruby-on-rails rbenv

2
推荐指数
1
解决办法
1301
查看次数

如何更改"rbenv init"使用的路径?

我正在尝试安装rbenv,然后运行rbenv install -v 2.3.1以安装相应的Ruby版本.

但是我的主文件夹中的配额非常低,我目前无法使用它,因为管理员不允许它.默认情况下,当我执行eval "$(rbenv init -)"它时,在我的主文件夹中创建.rbenv.

有没有办法在/ opt或其他地方创建它?

ruby rbenv

2
推荐指数
1
解决办法
608
查看次数

miniruby Permission denied 使用 rbenv 安装的自制软件安装 ruby​​ 2.3.1 时发生错误

使用 rbenv 安装 ruby​​ 2.3.1 时收到错误消息。我的环境如下。

  • macOS 10.10.5
  • rbenv 1.0.0

日志消息如下。

$ rbenv install 2.3.1

...

Last 10 log lines:
compiling enc/unicode.c
compiling enc/utf_8.c
compiling enc/trans/newline.c
linking miniruby
generating encdb.h
make: ./miniruby: Permission denied
make: ./miniruby: Permission denied
make: *** [.rbconfig.time] Error 1
make: *** Waiting for unfinished jobs....
make: *** [encdb.h] Error 1
Run Code Online (Sandbox Code Playgroud)

如果您遇到同样的错误,请告诉我如何解决此错误?
感谢您的帮助。

ruby macos rbenv ruby-2.3.1

2
推荐指数
1
解决办法
2110
查看次数