【问题标题】:cannot run "rake:db create" on rails project that was ported from another machine - getting error message无法在从另一台机器移植的 rails 项目上运行“rake:db create” - 收到错误消息
【发布时间】:2014-01-30 13:42:24
【问题描述】:

我将一个 Rails 项目从一台机器移植到另一台机器上,并检查了以下清单以确保环境和系统设置良好:

1) 红宝石-v =>

 ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0]

2) 轨道 -v =>

 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-
 1.3.5/lib/bundler/runtime.rb:216: warning: Insecure world writable dir 
 /Users/AM/Documents/rubyws/overnights in PATH, mode 040777

 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-
 1.3.5/lib/bundler/runtime.rb:216: warning: Insecure world writable dir 
 /Users/AM/Documents/rubyws/overnights in PATH, mode 040777

 Rails 4.0.0

3) 检查mysql是否正在运行:

4) 酿造更新

5) 捆绑安装

6)rake db:create....... 我在终端上收到以下消息:

 AMs-MacBook-Pro:overnights AM$ rake db:create --trace

 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-
 1.3.5/lib/bundler/runtime.rb:216: warning: Insecure world writable dir 
 /Users/AM/Documents/rubyws/overnights in PATH, mode 040777
 rake aborted!
 dlopen(/Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/mysql2-0.3.14/lib/mysql2/mysql2.bundle, 
 9): Library not loaded: libmysqlclient.18.dylib
 Referenced from: /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/mysql2-  
 0.3.14/lib/mysql2/mysql2.bundle
 Reason: image not found - /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/mysql2-     
 0.3.14/lib/mysql2/mysql2.bundle
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `require'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `<top 
 (required)>'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-   
  1.3.5/lib/bundler/runtime.rb:72:in `require'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-
  1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler- 
  1.3.5/lib/bundler/runtime.rb:70:in `each'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-
  1.3.5/lib/bundler/runtime.rb:70:in `block in require'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-
  1.3.5/lib/bundler/runtime.rb:59:in `each'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-
  1.3.5/lib/bundler/runtime.rb:59:in `require'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler.rb:132:in 
 `require'
 /Users/AM/Documents/rubyws/overnights/config/application.rb:7:in `<top (required)>'
 /Users/AM/Documents/rubyws/overnights/Rakefile:4:in `require'
 /Users/AM/Documents/rubyws/overnights/Rakefile:4:in `<top (required)>'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in 
 `load'
/Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in 
`load_rakefile'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/lib/rake/application.rb:637:in 
 `raw_load_rakefile'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/lib/rake/application.rb:94:in 
 `block in load_rakefile'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/lib/rake/application.rb:165:in 
 `standard_exception_handling'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/lib/rake/application.rb:93:in 
 `load_rakefile'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/lib/rake/application.rb:77:in 
 `block in run'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/lib/rake/application.rb:165:in 
 `standard_exception_handling'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/lib/rake/application.rb:75:in 
 `run'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/gems/rake-10.1.1/bin/rake:33:in `<top (required)>'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/bin/rake:23:in `load'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/bin/rake:23:in `<main>'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `eval'
 /Users/AM/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `<main>'

7) 我对此的理解是 MySql 已安装并正在运行,但不知何故,rails 应用程序找不到它:所以我做了“echo $PATH”

 /Users/AM/.rvm/gems/ruby-2.0.0-p195/bin:/Users/AM/.rvm/gems/ruby-2.0.0-
  p195@global/bin:/Users/AM/.rvm/rubies/ruby-2.0.0-
  p195/bin:/Users/AM/.rvm/bin:/usr/local/bin:/usr/local/sbin:
  ~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

8) 然后我想找到 MySQL 的安装位置,所以我去了: cd /usr/本地/ ls -la

我看到了这个:

 drwxrwxr-x  21 root  admin    714 11 Jan 08:25 .
 drwxr-xr-x@ 13 root  wheel    442  1 Jun  2013 ..
 drwxr-xr-x  14 AM    admin    476 11 Jan 08:25 .git
 -rw-r--r--   1 AM    admin    213 20 May  2013 .gitignore
 -rw-r--r--   1 AM    admin    592 11 Jan 08:25 CONTRIBUTING.md
 drwxr-xr-x  22 AM    admin    748 11 Jan 08:32 Cellar
 drwxr-xr-x  10 AM    admin    340 11 Jan 08:25 Library
 -rw-r--r--   1 AM    admin   1240 11 Jan 08:25 README.md
 -rw-r--r--   1 AM    admin  23510 11 Jan 08:25 SUPPORTERS.md
 drwxr-xr-x  79 AM    admin   2686 11 Jan 08:33 bin
 drwxr-xr-x   6 AM    admin    204 11 Jan 08:33 etc
 drwxr-xr-x   6 AM    admin    204  2 Jun  2013 foreman
 drwxr-xr-x   7 AM    admin    238  2 Jun  2013 heroku
 drwxr-xr-x  46 AM    admin   1564 29 Aug 15:21 include
 drwxr-xr-x  50 AM    admin   1700 29 Aug 15:21 lib
 drwxr-xr-x   5 root  wheel    170 29 Mar  2013 man
 lrwxr-xr-x   1 root  wheel     27 17 Sep 15:47 mysql -> mysql-5.6.13-osx10.7-x86_64
 drwxr-xr-x  17 root  wheel    578 17 Sep 15:47 mysql-5.6.13-osx10.7-x86_64
 drwxr-xr-x  22 AM    admin    748 11 Jan 08:33 opt
 drwxr-xr-x  17 AM    admin    578 29 Aug 15:21 share
 drwx------   6 AM    admin    204 11 Jan 08:33 var

所以我现在觉得我快到了,但需要最后几个步骤才能使这个 Rails 应用程序正常工作。有人可以帮我弄清楚下一步该怎么做吗?

谢谢

【问题讨论】:

    标签: mysql ruby-on-rails database debugging installation


    【解决方案1】:

    您可以尝试运行它以将 libmysqlclient.18.dylib 包含到搜索路径中

    ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib
    

    我还找到了similar case

    【讨论】:

    • 我在哪里输入这个?是否有更永久的解决方案,以便我不必每次都继续运行脚本。就像我可以将它设置在某个地方以便它保留吗?谢谢
    • 只需复制到终端。命令在两条路径之间创建符号链接
    猜你喜欢
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    相关资源
    最近更新 更多