因此导轨不会与导轨生成一起工作.我认为问题是heroku toolbelt,所以我删除了它,但是没有做到这一点.然后我检查了我的.zshrc文件,看到它有一个不同版本的ruby,它在PATH中调用,所以我更新了.然而,这没有做到.我没有想法.有人可以帮帮忙吗?
#(05/06/13 @ 10:01AM)(admin @ Administrators-MacBook-Pro):〜/ desktop/scratch rails s dyld:懒符号绑定失败:找不到符号:_rb_intern2引自:/ Users/admin /. rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.bundle预期:flat namespace
dyld: Symbol not found: _rb_intern2 Referenced from: /Users/admin/.rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.bundle Expected in: flat namespace [1] 69741 trace trap rails s
#(05/06/13 @ 10:02AM)(admin @ Administrators-MacBook-Pro):〜/ desktop/scratch rvm list default
Default Ruby (for new shells) ruby-1.9.3-p392 [ x86_64 ]
#(05/06/13 @ 10:11 AM)(admin @ Administrators-MacBook-Pro):〜/ desktop/scratch ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
#(05/06/13 @ 10:11 AM)(admin @ Administrators-MacBook-Pro):〜/ desktop/scratch rails -v
Rails 3.2.12
的Gemfile:
source 'https://rubygems.org' gem 'rails', '3.2.12' # Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git' gem 'sqlite3' # gem 'pg' gem "bootstrap-sass", ">= 2.3.0.0" # Gems used only for assets and not required # in production environments by default. group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer', :platforms => :ruby gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails' # To use ActiveModel has_secure_password # gem 'bcrypt-ruby', '~> 3.0.0' # To use Jbuilder templates for JSON # gem 'jbuilder' # Use unicorn as the app server # gem 'unicorn' # Deploy with Capistrano # gem 'capistrano' # To use debugger # gem 'debugger'
.zshrc文件:
# Path to your oh-my-zsh configuration. ZSH=$HOME/.oh-my-zsh # Set name of the theme to load. # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll load a random theme each # time that oh-my-zsh is loaded. ZSH_THEME="junkfood" # Example aliases # alias zshconfig="mate ~/.zshrc" # alias ohmyzsh="mate ~/.oh-my-zsh" # Set to this to use case-sensitive completion # CASE_SENSITIVE="true" # Comment this out to disable bi-weekly auto-update checks # DISABLE_AUTO_UPDATE="true" # Uncomment to change how many often would you like to wait before auto-updates occur? (in days) # export UPDATE_ZSH_DAYS=13 # Uncomment following line if you want to disable colors in ls # DISABLE_LS_COLORS="true" # Uncomment following line if you want to disable autosetting terminal title. # DISABLE_AUTO_TITLE="true" # Uncomment following line if you want red dots to be displayed while waiting for completion # COMPLETION_WAITING_DOTS="true" # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) plugins=(git) source $ZSH/oh-my-zsh.sh # Customize to your needs... export PATH=//opt/local/bin:/opt/local/sbin://usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/opt/local/bin:/opt/local/sbin:/Users/admin/.rvm/gems/ruby-1.9.3-p392/bin:/Users/admin/.rvm/gems/ruby-1.9.3-p392@global/bin:/Users/admin/.rvm/rubies/ruby-1.9.3-p392/bin:/Users/admin/.rvm/bin:/usr/local/mysql/bin:/Users/admin/.rvm/bin PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
Aneil Mallav.. 14
类似的错误形式:
Symbol not found: {some-symbol} Referenced from: /path/to/some/file.bundle Expected in: flat namespace
似乎突然出现了很多宝石.
底层问题似乎是一个不兼容的C扩展库(在上面的例子中,sqlite3_native.bundle).似乎无论出于何种原因,gem都安装了旧版本的ruby,而当前的ruby版本没有扩展库正在寻找的导出C方法.
有两种方法可以解决这个问题
卸载并重新安装软件包(如上面Shawn Balestracci的评论中所述).在上面的例子中,我们可以推断出包是sqlite3:
gem uninstall {package}; gem install {package}
或者(不太可取,但如果上述方法由于某种原因失败,则可能有用):
删除捆绑包文件并重新安装包.查看错误消息:引用自:/Users/admin/.rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.bundle,我们只需要:
rm {path-to-bundle-file}; gem install {package}
Frederick Ch.. 8
如果你使用rvm,你应该让它将路径添加到$ PATH而不是自己动手.事实上,看起来你有一半使用rvm:你正在为rvm安装的ruby安装宝石,但由于rvm ruby路径在$ PATH运行结束时正在ruby
通过一些安装来获取ruby其他方法(也许系统提供一个)
因此,你有ruby 1.8.7试图加载为ruby 1.9.3编译的扩展,这不起作用
类似的错误形式:
Symbol not found: {some-symbol} Referenced from: /path/to/some/file.bundle Expected in: flat namespace
似乎突然出现了很多宝石.
底层问题似乎是一个不兼容的C扩展库(在上面的例子中,sqlite3_native.bundle).似乎无论出于何种原因,gem都安装了旧版本的ruby,而当前的ruby版本没有扩展库正在寻找的导出C方法.
有两种方法可以解决这个问题
卸载并重新安装软件包(如上面Shawn Balestracci的评论中所述).在上面的例子中,我们可以推断出包是sqlite3:
gem uninstall {package}; gem install {package}
或者(不太可取,但如果上述方法由于某种原因失败,则可能有用):
删除捆绑包文件并重新安装包.查看错误消息:引用自:/Users/admin/.rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.bundle,我们只需要:
rm {path-to-bundle-file}; gem install {package}
如果你使用rvm,你应该让它将路径添加到$ PATH而不是自己动手.事实上,看起来你有一半使用rvm:你正在为rvm安装的ruby安装宝石,但由于rvm ruby路径在$ PATH运行结束时正在ruby
通过一些安装来获取ruby其他方法(也许系统提供一个)
因此,你有ruby 1.8.7试图加载为ruby 1.9.3编译的扩展,这不起作用