我在此guideline之后从RVM切换到rbenv,现在我可以使用bundler并运行纯ruby,但是当我运行bin/rails s
,bin/rails g model ModelName
或{{1}时我得到以下错误:
rails g model ModelName
此后还有一个大规模的崩溃报告,但我选择不包含它,因为它比允许的StackOverflow帖子长度更长,而且我认为它没有任何有价值的东西。
我用ruby 2.1.2尝试了同样的事情并得到了相同的结果。我还完成了成功运行的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]
和gem install rubygems-update
会收到此错误:
gem pristine --all
以下是ERROR: While executing gem ... (Gem::Exception)
Failed to find gems ["==all"] >= 0
gem env
在GEM PATHS下,为什么路径会进入2.1.0?这是我的旧版ruby,我很确定甚至不再在我的机器上了。它未列在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
下。这是问题吗?如何更改gem路径以及如何更改它?
我在.bash_profile
中设置了$ PATHrbenv versions
我的.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
导致: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
即使捆绑包包含在我的宝石列表中。
我尝试过卸载并重新安装ruby至少三次,每次都会遇到相同的错误。我再一次认为问题在于我的GEM路径,但我没有足够的经验知道如何修复它。谢谢。
答案 0 :(得分:1)
原来解决方案只是删除我的rails项目并开始一个新项目。我还卸载并重新安装了我的宝石,并在创建新项目之前进行了rbenv rehash。我想我应该发布一个答案而不只是删除这个问题,因为我没有看到删除并重新启动rails应用程序在任何其他回答中有关此错误的几个问题。
答案 1 :(得分:0)
@usernm ...我认为你的目录中应该有一个GEMFILE
。问题很混乱。因此,只需尝试在顶行添加ruby 'version'
即可。我希望这是一个可供选择的选项。好的例子是:
ruby '2.1.4'