Rails 101 安裝問題排除 & 移除相關安裝

由 andy 發表於 六月 18, 2011 / 尚無評論

 後記

其實這些問題的處理方式都是按照錯誤時產生的參考執行的這裡僅稍微紀錄並提供大家參考若有任何錯誤歡迎指教

 

這篇紀錄是因為在決定好好從頭玩一次RoR之前機器已經照著網路的散落的教學文章亂裝機器導致環境有點混亂所以把相關移除的紀錄和照著XDite大步驟安裝時遇到的問題紀錄一下 另外在安裝ImageMagick時的錯誤請參考 另一篇

移除rvm

1. rvm implode
2. gem uninstall rvm
3. rm -Rf /etc/rvmrc ~/.rvmrc

 

查看下面檔案中是否存在 activate RVM 的指令,有的刪除即可 就是安裝時加入的那串

- .bashrc
- .profile
- .bash_profile

 

移除brew

相關指令查詢   參考資料

 

$> rm -rf ~/Library/Caches/Homebrew

 

 

移除pow 

Pow官網

 

執行mysql_install_db 馬上先Error

FATAL ERROR: Could not find ./bin/my_print_defaults

解決辦法如下

 

 

安裝 gem install mysql 時Error

curl: (7) couldn’t connect to host

原因:pidof 相依套件網址連不到,這裡 提供我剛好有下載的壓縮擋

$> brew edit pidof      #pidof 可改打入無法連結該網址的套件名稱

出現如下

 

class Pidof < Formula

url ‘http://www.nightproductions.net/downloads/pidof_source.tar.gz

homepage ‘http://www.nightproductions.net/cli.htm’

md5 ’663763ee1feb0596fa3731aafa7e1880′

version ’0.1.4′

 

def install

system “make all”

man1.install gzip(“pidof.1″)

bin.install “pidof”

end

end

把url 換成  下載下來的檔案路徑   ex   :   ‘file:///~/Library/Caches/Homebrew/pidof_source.tar.gz’

在執行一次安裝即可

brew 失敗時請善用 brew doctor 和brew missing 會告訴你該怎麼處理

附上查詢Mysql版本指令 mysql -V

繼續Error

 

Enter current password for root (enter for none):

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 85: .my.cnf.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 86: .my.cnf.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 87: .my.cnf.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 89: .my.cnf.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 58: .mysql.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 60: .mysql.4387: No such file or directory

處理:一般權限問題 就斟酌把/usr/local/Cellar/mysql/5.5.10/bin/  目錄權限開一下

 

後續安裝總算都被炸完了LOL

 

 

 

 

 

 

[問題紀錄]安裝 ImageMagick Error

由 andy 發表於 六月 17, 2011 / 尚無評論

問題 : 使用 Homebrew 安裝ImageMagick 失敗

錯誤訊息 : Error: Failed executing: make install

系統提示:

 

Also try:

  brew doctor to check your setup for common problems.

  brew missing to check installed packages for missing deps.

原因:安裝過其他的程式有 /usr/bin/pkg-config , 可能是python等等 在這裡我被炸的原因是因為安裝了 Mono Framework   (Orz)

解決辦法:

1. 依照提示使用 brew doctor 指令

 

/usr/bin is in your PATH before Homebrew's bin. This means that system-

provided programs will be used before Homebrew-provided ones. This is an

issue if you install, for instance, Python.

2. 系統提供的解決方案 

      A .  考慮 將paths 中的/usr/local/bin 置於 /usr/bin 之前  以Mac來說 路徑在/etc/paths  記得sudo 修改順序。由於本人並非深厚Unix like 系統使用者,所以不清楚這樣修改會衍伸什麼問題,不過經過測試,的確可以解決問題。

      B.  處理系統提示其他 pkg-config 以遭遇到的問題來說可以選擇移除 Mono Framework

            將 /Library/Frameworks/Mono.framework  整個砍掉即可,在/usr/bin/pkg-config的連結會一並被移除。

 

3. 系統提供的其他解決方案

   To resolve this issue, re-brew pkg-config with:

   brew rm pkg-config && brew install pkg-config

不過因為該檔案權限被保護之類的關係,實際測試結果無法解決問題。

 

由於覺得目前的解決辦法實在不是最佳的答案,如果有相關更好的解決辦法歡迎分享指教。

繼續閱讀 »

[問題紀錄]Rubygem mysql 問題

由 andy 發表於 五月 31, 2011 / 2 則評論

環境
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0]
mysql2 (0.2.7)
Rails 3.0.7

問題
啥都還沒做光把資料庫預設為mysql 指令rails new webstie -d mysql
開完controller 馬上出現下面


Error

TypeError 
can't convert Fixnum into String

原因:因為你的Mysql 密碼是數字! (驚)

解決辦法


1. 修改mysql 密碼 (治標)
mysqladmin -h localhost -u root password

2. 更改Gem程式碼(治本) 
Git上討論的解法
https://github.com/krekoten/mysql2/commit/68795e295e64faee357a56947b5cf09a2de397c1
中文步驟
編輯 

lib/mysql2/client.rb (+增加該行程式碼 – 刪除)

Mac的話在~/.rvm/gems/ruby-1.9.2-p180/gems/ 底下
ssl_set(*opts.values_at(:sslkey, :sslcert, :sslca, :sslcapath, :sslciper))

user = opts[:username]
- pass = opts[:password]
+ pass = opts[:password] ? opts[:password].to_s : nil
host = opts[:host] || 'localhost'
port = opts[:port] || 3306

spec/mysql2/client_spec.rb  備註:+號不要放啊 第一行 那是程式 不用怕XD


}.should raise_error(Mysql2::Error)
end
end

+ it 'should convert password to string' do
+ lambda do
+ client = Mysql2::Client.new(:password => 12345)
+ end.should_not raise_error(TypeError, "can't convert Fixnum into String")
+ end

it "should accept connect flags and pass them to #connect" do
klient = Class.new(Mysql2::Client) do
database = opts[:database]

[問題紀錄]Ruby安裝dbi錯誤 on Mac

由 andy 發表於 五月 29, 2011 / 尚無評論

錯誤訊息:.rvm/gems/ruby-1.9.2-p180/gems/dbi-0.4.3/lib/dbi/utils/date.rb:57:in <class:Date>': undefined method deprecate' for DBI::Date:Class (NoMethodError)

透過Rubygem 安裝dbi
 
請補上 sudo gem install dbd-mysql

 

測試用rb

 

 

# simple.rb – simple MySQL script using Ruby DBI module

require "dbi"

begin

    # connect to the MySQL server

    dbh = DBI.connect("dbi:Mysql:mysql:localhost", "root", "")

 

    # get server version string and display it

    row = dbh.select_one("SELECT VERSION()")

    puts "Server version: " + row[0]

rescue DBI::DatabaseError => e

    puts "An error occurred"

    puts "Error code: #{e.err}"

    puts "Error message: #{e.errstr}"

ensure

    # disconnect from server

    dbh.disconnect if dbh

end

 

執行 $ ruby test.rb  出現下列訊息即成功

Server version: 5.1.51