Ruby On Rails: ข้อความแสดงข้อผิดพลาดเมื่อพยายามเริ่ม WEBrick

ฉันเป็นมือใหม่โดยรวมที่พยายามเรียนรู้ Rails จากบทช่วยสอน Ruby on Rails ของ Lynda.com ฉันติดตั้ง Rails 3.0 และ Ruby Germs 1.8 แล้ว จนถึงจุดนี้ในบทช่วยสอน ฉันได้สร้างโปรเจ็กต์ Rails และเรากำลังจะเข้าถึงมัน อาจารย์บอกว่าผมน่าจะพิมพ์ได้

rails server

ในเทอร์มินัลบน Mac เพื่อบู๊ต WEBrick ซึ่งติดตั้งมาพร้อมกับ Rails

อย่างไรก็ตาม เมื่อฉันทำเช่นนั้น ฉันได้รับข้อความแสดงข้อผิดพลาดด้านล่าง (ซึ่งฉันไม่สามารถเข้าใจได้) **คุณรู้ไหมว่าฉันจะทำอย่างไรเพื่อให้ WEBrick ทำงานได้?

หมายเหตุ: ฉันติดตั้ง mysql ในเครื่องแล้ว (/usr/local/mysql/bin/mysql) และมันกำลังทำงานอยู่ ฉันยังติดตั้ง MAMP ไว้ด้วยแต่ไม่ได้ทำงานอยู่ (ฉันใช้กับแอปพลิเคชัน PHP เท่านั้น) ฉันยังต้องการใช้ mysql และ WEBrick เพื่อที่ฉันจะได้ทำงานร่วมกับบทช่วยสอนได้ แต่หากมีวิธีแก้ไขปัญหาอื่นที่คุณคิดได้ โปรดแจ้งให้เราทราบด้วย...

/Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError)
  Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle
  Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle
    from /Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2.rb:8
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:66:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:66:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:55:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:55:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler.rb:120:in `require'
    from /Users/michaelmitchell/Sites/simple_cms/config/application.rb:7
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:28:in `require'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:28
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27:in `tap'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27
    from script/rails:6:in `require'
    from script/rails:6

อัปเดต ฉันลองติดตั้ง mysql2 ใหม่เช่นนี้

sudo gem install mysql2 — –with-mysql-configs=/usr/local/mysql/bin/mysql_config

ข้อความผิดพลาด

Building native extensions.  This could take a while...
Successfully installed mysql2-0.3.6
ERROR:  Could not find a valid gem '—' (>= 0) in any repository
ERROR:  Could not find a valid gem '–with-mysql-configs=/usr/local/mysql/bin/mysql_config' (>= 0) in any repository
1 gem installed
Installing ri documentation for mysql2-0.3.6...

Enclosing class/module 'mMysql2' for class Client not known

Enclosing class/module 'mMysql2' for class Result not known
Installing RDoc documentation for mysql2-0.3.6...

Enclosing class/module 'mMysql2' for class Client not known

Enclosing class/module 'mMysql2' for class Result not known

person Leahcim    schedule 21.07.2011    source แหล่งที่มา
comment
ข้อความแสดงข้อผิดพลาดบ่นเกี่ยวกับไลบรารีไดนามิก mysql คุณได้ติดตั้ง mysql ในเครื่องแล้วหรือยัง เพราะ mysql2 gem จะไม่ทำงานหากไม่มีมัน iirc   -  person Frost    schedule 21.07.2011
comment
คุณติดตั้ง mysql ไว้ในระบบของคุณหรือไม่? คุณวิ่ง bundle ก่อน rails server หรือไม่?   -  person Mischa    schedule 21.07.2011
comment
ฉันติดตั้ง mysql ในเครื่องแล้วและกำลังทำงานอยู่ ฉันควรจะรันบันเดิลหรือไม่? กวดวิชาไม่ได้ทำอย่างนั้น.... ฉันควรทำอย่างไร?   -  person Leahcim    schedule 21.07.2011
comment
โปรดทราบว่าฉันได้ติดตั้ง MAMP ไว้ในคอมพิวเตอร์ด้วยแต่ไม่ได้ทำงานอยู่ มี mysql ที่ติดตั้งอยู่ในเครื่องทำงานอยู่   -  person Leahcim    schedule 21.07.2011
comment
Bundle จะติดตั้งอัญมณีที่จำเป็นทั้งหมด คุณยังสามารถลบ mysql2 ออกจาก Gemfile ของคุณแล้วใช้ sqlite3 ซึ่งยุ่งยากในการตั้งค่าน้อยกว่า   -  person Mischa    schedule 21.07.2011
comment
ฉันจะมัดรวมด้วยตัวเองได้ไหม? ฉันอยากจะยึดติดกับบทช่วยสอนและลองใช้ mysql   -  person Leahcim    schedule 21.07.2011
comment
ฉันทำมัดและได้รับ ชุดของคุณเสร็จสมบูรณ์แล้ว! ใช้ bundle show [gemname] เพื่อดูว่ามีการติดตั้งอัญมณีที่รวมไว้ที่ไหน แต่เมื่อฉันทำเซิร์ฟเวอร์ Rails อีกครั้ง ฉันก็ประสบปัญหาเดียวกัน   -  person Leahcim    schedule 21.07.2011
comment
หมายเหตุ ฉันยังติดตั้ง MAMP ไว้ด้วย แต่มันไม่ทำงาน ดังนั้นฉันคิดว่ามันไม่ทำให้เกิดข้อขัดแย้ง...   -  person Leahcim    schedule 21.07.2011


คำตอบ (2)


ฉันมีปัญหาเดียวกันและความคิดเห็นข้างต้นไม่เกี่ยวข้องกับความผิดพลาดของคุณ สิ่งที่วิดีโอไม่ได้ทำให้คุณทำคือ cd กลับสู่ simple_cms คุณกำลังพยายามรันคำสั่งเซิร์ฟเวอร์ Rails ในโฟลเดอร์ Sites (นั่นคือจุดที่วิดีโอทิ้งคุณไว้) ซึ่งเป็นไปไม่ได้ ตรวจสอบให้แน่ใจว่าคุณ ย้อนกลับ ไปที่ simple_cms และทำ เซิร์ฟเวอร์ราง

person Anthony    schedule 31.05.2012

ลองสิ่งนี้:

cd /Applications/MAMP/Library/lib/mysql/
ln -s  ibmysqlclient.la ibmysqlclient.a
ln -s libmysqlclient_r.la libmysqlclient_r.a
ln -s libndbclient.la libndbclient.a

sudo gem install mysql2 — –with-mysql-configs=/Applications/MAMP/Library/bin/mysql_config
person Anatoly    schedule 21.07.2011
comment
คุณช่วยบอกฉันได้ไหมว่ามันจะทำอะไรและฉันจะต้องทำอะไรหลังจากนั้น? ฉันจะต้องเรียกใช้ MAMP หลังจากนั้นเพื่อให้มันทำงานแทน mysql ในเครื่องที่ /usr/local/mysql/bin/mysql หรือไม่ - person Leahcim; 21.07.2011
comment
mysql2 ของคุณได้รับการติดตั้งไม่ถูกต้อง สิ่งเดียวที่คุณต้องการคือติดตั้งใหม่อีกครั้งโดยชี้การกำหนดค่าอย่างถูกต้องไปที่ MAMP MySQL config =/Applications/MAMP/Library/bin/mysql_config คุณเพียงแค่ต้องแน่ใจว่า mysqld กำลังทำงานอยู่ - person Anatoly; 21.07.2011
comment
แต่ทำไมฉันต้องชี้ไปที่ MAMP? ฉันไม่ได้ใช้ MAMP (MAMP ใช้สำหรับแอปพลิเคชัน php เท่านั้น) ฉันติดตั้ง mysql ที่นี่ /usr/local/mysql/bin/mysql สำหรับ Rails... - person Leahcim; 21.07.2011
comment
ตกลง เพียงติดตั้ง mysql2 gem อีกครั้งด้วย sudo gem install mysql2 — –with-mysql-configs=/usr/local/mysql/bin/mysql_config - person Anatoly; 21.07.2011
comment
ฉันทำการติดตั้งใหม่ตามที่คุณอธิบาย หากคุณดูใน OP Update มันทำให้ฉันมีข้อความแสดงข้อผิดพลาด ปัญหา? หมายเหตุ ฉันพยายามเปิดใช้งานด้วยเซิร์ฟเวอร์ Rails อีกครั้งและได้รับข้อความแสดงข้อผิดพลาดเดียวกัน... - person Leahcim; 21.07.2011
comment
สำหรับการอัปเดตครั้งล่าสุดของคุณ ควรเป็น: sudo gem install mysql2 —–with-mysql-configs=/usr/local/mysql/bin/mysql_config แทนที่จะเป็น sudo gem install mysql2 — –with-mysql-configs=/usr/local/mysql/bin/mysql_config (ไม่ควรมีช่องว่างระหว่างขีดกลางสองอันข้างหน้า with-mysql-configs=) - person Mischa; 24.07.2011