从RVM切换到rbenv后,我的红宝石路径被搞乱了吗?
我从RVM切换到了rbenv下面这个guideline,现在我可以使用捆绑和运行纯Ruby,但是当我运行bin/rails s
,bin/rails g model ModelName
,或rails g model ModelName
我得到下面的错误:从RVM切换到rbenv后,我的红宝石路径被搞乱了吗?
Warning: Running `gem pristine --all` to regenerate your installed gemspecs (and deleting then reinstalling your bundle if you use bundle --path) will improve the startup performance of Spring.
/Users/home/Development/blogger/vendor/bundle/gems/json-1.8.3/lib/json/ext/parser.bundle: [BUG] Segmentation fault at 0x00000000000418
ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-darwin15.0]
还有之后的一个大规模的崩溃报告,但我选择不包括它,因为它超过了允许的StackOverflow帖子长度,我不认为它说什么有价值。
我用ruby 2.1.2试过同样的东西,得到了同样的结果。我也做了gem install rubygems-update
其成功运行和gem pristine --all
它得到这个错误:
ERROR: While executing gem ... (Gem::Exception)
Failed to find gems ["==all"] >= 0
这里是gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.2.2
- RUBY VERSION: 2.1.4 (2014-10-27 patchlevel 265) [x86_64-darwin15.0]
- INSTALLATION DIRECTORY: /Users/home/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0
- RUBY EXECUTABLE: /Users/home/.rbenv/versions/2.1.4/bin/ruby
- EXECUTABLE DIRECTORY: /Users/home/.rbenv/versions/2.1.4/bin
- SPEC CACHE DIRECTORY: /Users/home/.gem/specs
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-15
- GEM PATHS:
- /Users/home/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0
- /Users/home/.gem/ruby/2.1.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/home/.rbenv/versions/2.1.4/bin
- /usr/local/Cellar/rbenv/0.4.0/libexec
- /Users/home/.rbenv/shims
- /Users/home/.rbenv/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
,为什么路径进入2.1.0结果在创业板PATHS?这是我的老版本的红宝石,我敢肯定,它甚至不在我的机器上。它不在rbenv versions
下列出。这是问题吗?我如何更改宝石路径,以及将其更改为什么?
我设置$ PATH在我的.bash_profile
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
export PATH="$HOME/.rbenv/bin:$PATH"
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
我的.profile文件是空的,echo $PATH
结果:/Users/home/.rbenv/shims:/Users/home/.rbenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
which ruby
结果/Users/home/.rbenv/shims/ruby
的另一个问题是,如果我尝试要在我的主目录中使用bundle
命令,即使bundler包含在我的gem列表中,我也会得到Could not locate Gemfile or .bundle/ directory
。
我已经尝试卸载并重新安装红宝石至少三次,每次都收到相同的错误。我再次相信问题出在我的GEM PATH上,但我没有足够的经验来知道如何解决它。谢谢。
@usernm ...我想你应该在你的目录中有一个GEMFILE
。问题很混乱。所以只要在顶线添加ruby 'version'
即可。我希望这是一个选择。好例子是:
ruby '2.1.4'
GEM_PATHs是一个红色的鲱鱼。 Ruby的每个x.y版本的Gem存储在同一个目录中。 –
但是如果我使用的是2.1.2或2.1.4,2.1.0应该在我的GEM_PATH的末尾?我不确定还有什么可能是错的。 – usernm
是的,它应该。这是我评论的重点。我使用的是2.2.4,我的路径在所有你的“2.1.0”的地方都有“2.2.0”。不幸的是,我不知道还有什么不对。您需要更多地表征它并更新您的问题。 –