标签: rbenv

Guard导致"错误:无法修改字符串;暂时锁定"

当使用guard-rspec在Rails 4项目中运行guard时,我在vim中打开/关闭文件时偶尔会看到以下错误.我试过升级/降级后卫,guard-rspec,pry和其他没有运气的库.

  • ruby 2.0.0p247(2013-06-27修订版41674)[x86_64-linux]
  • Bundler版本1.3.5
  • Guard版本2.1.1

下面是我看到的每一次测试运行的堆栈跟踪:

Error: can't modify string; temporarily locked
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:624:in `readline'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:624:in `block in readline'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:564:in `handle_read_errors'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:609:in `readline'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:384:in `retrieve_line'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:301:in `block in r'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:298:in `loop'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:298:in `r'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:276:in `re'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:254:in `rep'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:234:in `block (3 levels) in repl'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:232:in `loop'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:232:in `block (2 levels) in repl'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:231:in `catch'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:231:in `block in repl'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:230:in `catch'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:230:in `repl'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_class.rb:170:in `start'
/home/charles/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/guard-2.1.1/lib/guard/interactor.rb:133:in `block in start'
[1] Specs guard(main)>
Run Code Online (Sandbox Code Playgroud)

rspec guard rbenv

22
推荐指数
1
解决办法
1508
查看次数

在Ubuntu 14.04上rbenv构建失败

我已经在我的Ubuntu 14.04桌面上成功安装了rbenv(以及构建工具),这似乎工作正常,但是当我尝试安装ruby 2.1.1时,构建失败:

daniel@grape:~$ rbenv install 2.1.1
Downloading yaml-0.1.6.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/5fe00cda18ca5daeb43762b80c38e06e
Installing yaml-0.1.6...
Installed yaml-0.1.6 to /home/daniel/.rbenv/versions/2.1.1

Downloading ruby-2.1.1.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/e57fdbb8ed56e70c43f39c79da1654b2
Installing ruby-2.1.1...

BUILD FAILED

Inspect or clean up the working tree at /tmp/ruby-build.20140418142258.3543
Results logged to /tmp/ruby-build.20140418142258.3543.log

Last 10 log lines:
installing default ripper libraries
compiling ossl_pkcs7.c
compiling ossl_ssl.c
installing default openssl libraries
linking shared-object openssl.so
make[2]: Leaving directory `/tmp/ruby-build.20140418142258.3543/ruby-2.1.1/ext/openssl'
linking shared-object ripper.so
make[2]: Leaving directory `/tmp/ruby-build.20140418142258.3543/ruby-2.1.1/ext/ripper'
make[1]: Leaving directory `/tmp/ruby-build.20140418142258.3543/ruby-2.1.1'
make: *** [build-ext] Error 2
Run Code Online (Sandbox Code Playgroud)

日志文件的内容可以在这里找到:http: …

ruby ubuntu rbenv

22
推荐指数
1
解决办法
7015
查看次数

使用rbenv安装Ruby的最新稳定版本

我想用rbenv安装最新的稳定版Ruby .rbenv本身不会发生此功能.

当我rbenv install -l在shell中运行命令时,我得到了一长串可用版本.该列表包含所有类型的条目.以下是部分列表,以展示格式和多样性:

$ rbenv install -l
Available versions:
  2.0.0-p643
  2.0.0-p645
  2.1.0-dev
  2.1.0-preview1
  2.1.0-preview2
  2.1.0-rc1
  2.1.4
  2.1.5
  2.1.6
  2.2.0-dev
  2.2.0-preview1
  2.2.0-preview2
  2.2.0-rc1
  2.2.0
  2.2.1
  2.2.2
  2.3.0-dev
  jruby-1.7.19
  jruby-1.7.20
  jruby-9.0.0.0-dev
  jruby-9.0.0.0+graal-dev
  jruby-9.0.0.0.pre1
  jruby-9.0.0.0.pre2
  maglev-1.0.0
  maglev-1.1.0-dev
  maglev-2.0.0-dev
  mruby-dev
  mruby-1.0.0
  mruby-1.1.0
  rbx-2.5.2
  rbx-2.5.3
  ree-1.8.7-2011.12
  ree-1.8.7-2012.01
  ree-1.8.7-2012.02
  topaz-dev
Run Code Online (Sandbox Code Playgroud)

我的目标是rbenv install VERSION在shell脚本中自动执行命令,其中VERSION是最高x.x.x版本.换句话说,我需要自动替换以数字开始,不是结束名单上最高的入门-somethingVERSION.从这个清单,我需要2.2.2.

我可以在shell脚本中添加什么来自动选择x.x.x命令中的最高版本rbenv install x.x.x

编辑:由于尚未安装Ruby,解决方案必须是Bash而不是Ruby.

编辑2:我想要Ruby(主流)版本的Ruby.

ruby bash shell sed rbenv

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

运行bundle install时出现Nokogiri错误

试图让克隆的Rails应用程序运行.运行时bundle install我收到此错误:

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

但这是输出rbenv version:

› rbenv version
1.9.3-p429 (set by /Users/andrewguo/.rbenv/version)
Run Code Online (Sandbox Code Playgroud)

跑步时gem list我得到:

.
.
.
mini_portile (0.5.0)
minitest (2.5.1)
multi_json (1.7.7)
nokogiri (1.6.0)
Run Code Online (Sandbox Code Playgroud)

我已经绞尽脑汁一小时了,现在试图找出可能出错的地方......请帮助!

编辑:

这是一个更详细的错误输出:

An error occurred while installing nokogiri (1.6.0), and Bundler cannot continue.
Make …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems ruby-on-rails nokogiri rbenv

20
推荐指数
6
解决办法
3万
查看次数

为什么我会收到错误"你的Ruby版本是2.0.0,但你的Gemfile指定为2.2.2"虽然我安装了2.2.2

我正在使用rbenv,Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2当我bundle install在项目中运行命令时出现错误.奇怪的是我实际安装了2.2.2版本(我的Gemfile指定),而不是2.0.0版本.(见下图).

在此输入图像描述

我尝试了这个线程中提供的解决方案:你的Ruby版本是2.0.0,但是你的Gemfile指定了2.1.0,但它没有效果.

如果这有任何区别的话,我会使用优胜美地的MacBook Air.

更新:

  • which ruby - > Users/myuser/.rbenv/shims/ruby
  • ruby -v - > ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
  • rbenv global 2.2.2并且rbenv rehash,没有效果
  • which bundle - > /usr/bin/bundle
  • gem env- > - GEM PATHS:
    • /Users/myuser/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
    • /Users/myuser/.gem/ruby/2.2.0

ruby-on-rails rbenv

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

在rbenv中复制以前版本的Ruby中的gem

我用rbenv安装了Ruby 1.9.3-p286.现在,在安装了较新版本(p327)之后,很明显,它对以前版本安装的GEM一无所知.

是否可以将Gems从该版本复制到较新版本,以便不再需要将它们全部下载?

ruby rbenv

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

rails rbenv:rails:找不到命令

我最近从RVM迁移到Rbenv,当我尝试执行rails时,我收到的错误如下所示

Pauls-Air:~ $ rails
rbenv: rails: command not found

The `rails' command exists in these Ruby versions:
  2.1.2
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rbenv ruby-on-rails-4

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

Ruby:LoadError - 找不到类 Digest::SHA1 的库 - 摘要/sha1

运行pod install时安装时遇到问题yoga。好像是我的ruby环境有问题?

$ pod install
Analyzing dependencies
Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`
Fetching podspec for `Permission-Camera` from `../node_modules/react-native-permissions/ios/Camera.podspec`
Fetching podspec for `Permission-LocationAlways` from `../node_modules/react-native-permissions/ios/LocationAlways.podspec`
Fetching podspec for `Permission-LocationWhenInUse` from `../node_modules/react-native-permissions/ios/LocationWhenInUse.podspec`
Fetching podspec for `RNPermissions` from `../node_modules/react-native-permissions`
Fetching podspec for `React` from `../node_modules/react-native/`
Fetching podspec for `yoga` from `../node_modules/react-native/ReactCommon/yoga`
Run Code Online (Sandbox Code Playgroud)

命令

/Users/User/.rbenv/versions/2.3.1/bin/pod install
Run Code Online (Sandbox Code Playgroud)

   CocoaPods : 1.5.3
        Ruby : ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
    RubyGems : 2.5.1
        Host : Mac OS X 10.15.1 (19B88)
       Xcode : …
Run Code Online (Sandbox Code Playgroud)

ruby ios rbenv cocoapods podfile

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

在ruby/rbenv中安装openssl

我需要在ruby中使用openssl.我该如何安装呢?我已经通过rbenv安装了ruby,并且使用的是ubuntu 12.04.

kprakasam@ubuntu:~$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]

kprakasam@ubuntu:~$ irb
irb(main):001:0> require 'openssl'
LoadError: no such file to load -- openssl
    from /home/kprakasam/.rbenv/versions/1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/kprakasam/.rbenv/versions/1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from (irb):1
    from /home/kprakasam/.rbenv/versions/1.9.2-p180/bin/irb:12:in `<main>'
Run Code Online (Sandbox Code Playgroud)

ruby gem openssl rbenv

17
推荐指数
6
解决办法
4万
查看次数

rbenv:即使安装了ruby-build,也没有这样的命令"install"

我正在尝试通过rbenv为客户端项目安装ruby 2.1.4.

虽然之前我已经能够通过rbenv安装ruby版本,但在升级到Yosemite后,我不断收到以下错误:

rbenv: no such command 'install'
Run Code Online (Sandbox Code Playgroud)

在挖掘之后,我看到很多关于"安装"如何来自ruby-build插件的提示,该插件是通过自制软件安装的:

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

我通过Homebrew安装了rbenv,但是当我尝试使用哪个rbenv时,我得到:

rbenv () {
typeset command
command="$1" 
if [ "$#" -gt 0 ]
then
    shift
fi
case "$command" in
    (rehash|shell) eval `rbenv "sh-$command" "$@"` ;;
    (*) command rbenv "$command" "$@" ;;
esac
}
Run Code Online (Sandbox Code Playgroud)

我已经运行了brew update和brew升级rbenv ruby​​-builder,它告诉我一切都是最新的.

以下是我的完整$ PATH:

zsh:没有这样的文件或目录:/ usr/local/var/rbenv/shims:/ usr/local/var/rbenv/shims:/ usr/local/bin:/ usr/local/sbin:/ Users/dannycox /. rbenv /垫片:/Users/dannycox/.rbenv/shims:在/ usr/local/bin目录:在/ usr/bin中:/ bin中:/ usr/sbin目录:/ sbin目录中:/ opt/X11/bin中:在/ usr /本地/去/bin:/Users/dannycox/.rbenv/shims:/Users/dannycox/.rbenv/bin

更新:找到另一个答案,对github进行更深入的挖掘,显示出有希望的迹象,但未能用rbenv解决问题.https://github.com/sstephenson/rbenv/issues/610#issuecomment-56240018

我相信2.1.4现在安装在我的机器上,但它安装在这里:成功将ruby 2.1.4安装到/Users/dannycox/.rubies/ruby-2.1.4

因此,我的捆绑程序将无法使用新的ruby 2.0版本,当我尝试gem install bundle时出现以下错误:

Fetching: bundler-1.7.6.gem (100%)
ERROR:  While …
Run Code Online (Sandbox Code Playgroud)

ruby macos ruby-on-rails rbenv

17
推荐指数
1
解决办法
9457
查看次数