标签: rbenv

-bash:ruby:找不到命令

hyperrjas@serv1:~$ rbenv global
1.9.3-p392
hyperrjas@serv1:~$ rbenv local
1.9.3-p392
hyperrjas@serv1:~$ which ruby-build
/usr/local/bin/ruby-build
hyperrjas@serv1:~$ rbenv versions
* 1.9.3-p392 (set by /home/hyperrjas/.ruby-version)
hyperrjas@serv1:~$ rbenv version
1.9.3-p392 (set by /home/hyperrjas/.ruby-version)
hyperrjas@serv1:~$ rbenv rehash
hyperrjas@serv1:~$ ruby -v
-bash: ruby: command not found
hyperrjas@serv1:~$ env | grep PATH
PATH=/home/hyperrjas/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
hyperrjas@serv1:~$ export PATH="$HOME/.rbenv/bin:$PATH"
hyperrjas@serv1:~$ ruby -v
-bash: ruby: command not found
Run Code Online (Sandbox Code Playgroud)

我正在使用ubuntu 12.04.

这是我的~/.profile档案:

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3 rbenv ruby-on-rails-3.2

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

如何让rbenv继续调试符号?

rbenv在Mac OS X v10.8.3上安装了Ruby 2的开发版本,并使用它来编译我正在处理的gem.我有一个内存问题我想调试.不幸的是,无论何时我运行valgrind,gdb或者cgdb在a的上下文中rake spec,我都会遇到一堆像这样的错误:

warning: Could not find object file "/private/var/folders/5f/h1s00nhn0rv4ckkpg4k_bwhr0000gn/T/ruby-build.20130331232604.54521/ruby-2.0.0-dev/main.o" - no debug information available for "main.c".
Run Code Online (Sandbox Code Playgroud)

显然,该ruby-build目录不再存在.

我收到了一系列可能相关的错误valgrind.以下是示例:

--2564-- /Users/jwoods/.rbenv/versions/2.0.0-dev/lib/libyaml-0.2.dylib:
--2564-- dSYM directory is missing; consider using --dsymutil=yes
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用该--dsymutil=yes选项,我会收到与以下错误基本相同的错误gdb:

warning: (x86_64) /private/var/folders/5f/h1s00nhn0rv4ckkpg4k_bwhr0000gn/T/ruby-build.20130331232604.54521/ruby-2.0.0-dev/ext/openssl/ossl_bn.o unable to open object file
Run Code Online (Sandbox Code Playgroud)

根据另一个问题的答案,我试着在info target里面跑gdb.这是输出.

有什么方法可以指示rbenv将调试符号放在某些不会被清理的地方吗?

我正在使用GCC 4.7.1,我通过自制软件安装.我确切的Ruby版本字符串是ruby 2.1.0dev (2013-04-01 …

ruby gdb valgrind rbenv dsym

7
推荐指数
1
解决办法
731
查看次数

rbenv不断产生流浪垫片

我正在使用rbenv和各种红宝石的最新流浪汉.

我正在使用不再使用宝石的最新流浪汉.当我执行vagrant命令时,我看到以下错误:

rbenv: vagrant: command not found
Run Code Online (Sandbox Code Playgroud)

我已经从所有红宝石环境中移除了旧的流浪宝石,但每次"cd"时,流浪的垫片都会被重新生成,这意味着流浪者停止工作直到我手动填充垫片:

rm /home/{user}/.rbenv/shims/vagrant   
Run Code Online (Sandbox Code Playgroud)

有没有办法强制rbenv停止这种行为?

rbenv插件正在使用":

  • 红宝石构建
  • rbenv,宝石

ruby vagrant rbenv

7
推荐指数
1
解决办法
1507
查看次数

Rails没有使用我的全局Ruby版本

我想在Ruby 2.1.0中使用Rails,但它使用的是Ruby 1.9.3(系统版本).

我正在使用rbenv来管理我的Ruby版本.我的步骤是:

$ rbenv install 2.1.0
$ rbenv global 2.1.0
$ sudo gem install rails -v 4.0.2
$ rbenv rehash
$ rbenv versions
  system
* 2.1.0 (set by /home/dennis/.rbenv/version)
$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
$ rails new app && cd app
$ rails server
Run Code Online (Sandbox Code Playgroud)

据Rails使用的是Ruby 1.9.3(x86_64-linux)localhost:3000/rails/info/properties.来自的一条日志消息rails server:INFO ruby 1.9.3 (2012-04-20) [x86_64-linux].

我认为Rails使用的是Ruby的系统版本,因为版本匹配.

$ rbenv local system
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ …
Run Code Online (Sandbox Code Playgroud)

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

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

ruby-build:未找到定义:2.2.1

我想安装新版本的ruby rbenv install 2.2.1,但是我收到了错误

ruby-build: definition not found: 2.2.1
 The following versions contain 2.2.1 in the name:
  rbx-2.2.1
  rbx-2.2.10
Run Code Online (Sandbox Code Playgroud)

能告诉我如何安装2.2.1版本吗?

提前致谢!

ruby-on-rails rbenv

7
推荐指数
4
解决办法
3508
查看次数

bundle使用错误的ruby版本

我想跑

env RAILS_ENV=test bundle exec rake db:migrate

并得到以下错误

Your Ruby version is 2.1.7, but your Gemfile specified 2.2.3

ruby -v

给我

ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin15]

我正在使用rbenv,如果这很重要的话.rbenv versions给出以下内容: system * 2.2.3 (set by /Users/thatsme/Projects/demoproject/.ruby-version) 所以我没有ruby 2.1.7安装.Spring没有运行而且我已经运行了rbenv rehash.然后bundler gem安装.我对此很疯狂.有人可以告诉我为什么使用错误的ruby版本?谢谢!

ruby bundle ruby-on-rails rbenv

7
推荐指数
4
解决办法
6564
查看次数

rvm和rbenv在同一台机器上

我传统上在我的个人笔记本电脑上使用rbenv用于我的所有个人项目而没有问题.但是我需要开始使用代码库(rails),我们在所有工作笔记本电脑上使用rvm.有没有办法让rvm和rbenv一起快乐地生活,或者我应该能够在没有rvm的情况下引导应用程序,只需使用rbenv来管理本回购的本地ruby?

ruby ruby-on-rails rvm rbenv

7
推荐指数
1
解决办法
2036
查看次数

无法通过rbenv macOS High Sierra安装ruby 2.5.0

我正在使用macOS High Sierra并且一直在尝试通过rbenv安装ruby 2.5.0但是仍然会出现以下错误

Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
compiling ./main.c
compiling dmydln.c
compiling miniinit.c
compiling dmyext.c
compiling miniprelude.c
translating probes probes.d
compiling bignum.c
compiling class.c
error: error reading '/dev/fd/9'
1 error generated.
clang: error: unable to remove file: Operation not permitted
dtrace: failed to compile script probes.d: Preprocessor failed to process input program
make: *** [probes.h] Error 1
make: *** Waiting for unfinished jobs....e
Run Code Online (Sandbox Code Playgroud)

我试着brew doctorbrew upgrade rbenv ruby-build …

ruby rbenv

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

rbenv系统广泛安装导致不安全的操作

我们在公司使用瘦客户端,我们有很多用户使用同一个盒子.我按照以下网站上的说明安装了rbenv作为系统安装;

https://blakewilliams.me/posts/system-wide-rbenv-install

这归结为这些命令

cd /usr/local
git clone git://github.com/sstephenson/rbenv.git rbenv
chgrp -R staff rbenv
chmod -R g+rwxXs rbenv
Run Code Online (Sandbox Code Playgroud)

通过运行最后一行,我们应该能够像系统的任何用户一样安装gem,这是"staff"组的一部分.我们有两个开发人员是该组的一部分,他们都不能安装宝石.

我们得到错误;

~ % gem install cheat         
/usr/local/rbenv/versions/2.3.5/lib/ruby/2.3.0/rubygems/config_file.rb:332:in `exist?': Insecure operation - exist? (SecurityError)
    from /usr/local/rbenv/versions/2.3.5/lib/ruby/2.3.0/rubygems/config_file.rb:332:in `load_file'
    from /usr/local/rbenv/versions/2.3.5/lib/ruby/2.3.0/rubygems/config_file.rb:198:in `initialize'
    from /usr/local/rbenv/versions/2.3.5/lib/ruby/2.3.0/rubygems/gem_runner.rb:75:in `new'
    from /usr/local/rbenv/versions/2.3.5/lib/ruby/2.3.0/rubygems/gem_runner.rb:75:in `do_configuration'
    from /usr/local/rbenv/versions/2.3.5/lib/ruby/2.3.0/rubygems/gem_runner.rb:40:in `run'
    from /usr/local/rbenv/versions/2.3.5/bin/gem:21:in `<main>'
~ % gem install cheat
Run Code Online (Sandbox Code Playgroud)

如果我从组中删除粘性位然后他们可以添加宝石,但如果有人试图删除由其他人安装的宝石,这将失败;

~ % chmod -R g-s rbenv
Run Code Online (Sandbox Code Playgroud)

如何允许多个用户从系统范围的rbenv安装中安装/卸载gem?

更新

/usr/local/rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems如您所见,这是目录中的安装示例

drwxrwxr-x   5 map7  map7  4.0K Jun  4 15:50 unicode-display_width-1.3.3
drwxrwxr-x   5 andre andre 4.0K May …
Run Code Online (Sandbox Code Playgroud)

ruby permissions rubygems rbenv

7
推荐指数
1
解决办法
166
查看次数

修复您的 Ruby 版本是 2.6.8,但您的 gemfile 指定为 2.5.5

在我正在使用的本地计算机上rbenv

当我跑步时bundle install我得到:

The git source `git://github.com/sinatra/sinatra.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
Following files may not be writable, so sudo is needed: …
Run Code Online (Sandbox Code Playgroud)

ruby bundle ruby-on-rails bundler rbenv

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