<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大鳥的學習樂園
    路漫漫其修遠兮,吾將上下而求索
    posts - 26,comments - 27,trackbacks - 0
    接下來,CentOS gcc安裝
    yum -y install gcc

    升級到rails3+ruby1.9.2過程中遇到的各種問題

    文章分類:Ruby編程
    由于ubunut系統中自帶的rails和ruby版本都比較低,所以打算干掉以前的版本重新編譯,遇到了N多麻煩,倒也是好事,又認識到了很多問題,明白了一些東東的含義

    一 升級ruby1.8.7到1.9.2

    首先下載ruby-1.9.2
    Java代碼 復制代碼
    1. wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz   
    2.   
    3.  tar -zxvf ruby-1.9.2-p0.tar.gz   
    4.  cd ruby-1.9.2-p0   
    5.  .configure -prefix=/usr/local/ruby # 指定安裝路徑   
    6.  make   
    7.  make test    
    8.  make install               #編譯并安裝   
    9.  sudo ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby # 建立一個軟鏈接  

      一切順利,不過不知道咋回事,貌似是昨天搞gem的時候,又把1.8重新弄回來了
      今天,重啟電腦之后,還是1.8,1.9也有,亂七八糟的,決定重來
      于是,修改全部步驟,刪除了usr/local/ruby 刪除 usr/bin/ 下的所有ruby
      重新上面的步驟(ln那條命令除外)
      最后修改了一下環境變量path 編輯文件 etc/environment
     
    Java代碼 復制代碼
    1. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin"  


      修改完畢,重啟系統,搞定

    Java代碼 復制代碼
    1. ruby -v   
    2. ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]  

    ruby安裝完成

    二 GEM的升級

    運行gem命令,出錯提示:依賴的ruby1.8.7 出現錯誤,這個是以前殘留的
    于是乎 /usr/bin 下的一系列gem gem1.8 gem×× 之類的全部干掉

    在安裝ruby1.9.2之后gem已經安裝了
    因為上面設置了path,gem在usr/local/ruby/bin目錄下
    所以刪除殘留的那些后運行gem依然可以
    Java代碼 復制代碼
    1. gem -v   
    2. 1.3.7  

    但是運行gem list
    出現錯誤
    Java代碼 復制代碼
    1. ERROR:  Loading command: list (LoadError)   
    2.    no such file to load -- zlib   
    3. ERROR:  While executing gem ... (NameError)   
    4.    uninitialized constant Gem::Commands::ListCommand  


    搜了一下:(http://javaeye.shaduwang.com/?www/topic/743850),說是缺少zlib
    Java代碼 復制代碼
    1. (1)sudo apt-get install zlib1g-dev    
    2. (2)然后到源碼目錄的ext/zlib下 (剛才解壓的ruby1.9.2目錄)   
    3. (3)ruby extconf.rb         (需要管理員權限)   
    4. (4)make    
    5. (5)sudo make install  

    gem list 這個可以運行了
    gem install ×× 也可以運行了

    補充說明:
    雖然設置了環境變量的path路徑,還是要建立一下軟鏈接,要不然 執行sudo ruby或者sudo gem時還是會報錯:
    Java代碼 復制代碼
    1. sudo: ruby: command not found  

    所以還要建立以下軟鏈接
    Java代碼 復制代碼
    1. sudo ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby    
    2. sudo ln -s /usr/local/ruby/bin/gem /usr/bin/gem  

    然后執行 sudo gem -v 輸出 1.3.7

    三、安裝rails3

    運行了rails -v
    bash: /usr/bin/rails:/usr/bin/ruby1.8:損壞的解釋器: 沒有該文件或目錄

    find了一下rails 發現/usr/lib/ruby/gems/1.8 目錄下面有rails文件
    /usr/bin/rails 便是運行時調用的rails
    統統刪除

    執行命令 gem install rails 開始安裝rails
    安裝完成以后運行 rails -v 沒問題
    但是sudo rails -v 就回提示沒有這個命令
    跟上面同理:sudo ln -s /usr/local/ruby/bin/rails /usr/bin/rails

    sudo rails -v 也沒問題了

    四 其他問題

    打開昨天的rails3+ruby1.8的項目,rake test出現錯誤
    首先是一些gem的更新,造成的版本號不對應,修改之后,rake test
    錯誤:Errors running test:units!
    不知道什么錯誤

    單獨運行
    Java代碼 復制代碼
    1. rake test:units   
    2. !!! Missing the mysql gem. Add it to your Gemfile: gem 'mysql''2.8.1'  
    現看了下gem list,發現還沒有安裝mysql 這個gem

    于是 安裝 mysql 的gem
    Java代碼 復制代碼
    1. sudo gem install mysql  

    出錯,堆棧異常如下:
    ------------------------------------------
    Java代碼 復制代碼
    1. Building native extensions.  This could take a while...   
    2. ERROR:  Error installing mysql:   
    3.     ERROR: Failed to build gem native extension.   
    4.   
    5. /usr/local/ruby/bin/ruby extconf.rb   
    6. checking for mysql_query() in -lmysqlclient... no   
    7. checking for main() in -lm... yes   
    8. checking for mysql_query() in -lmysqlclient... no   
    9. checking for main() in -lz... yes   
    10. checking for mysql_query() in -lmysqlclient... no   
    11. checking for main() in -lsocket... no   
    12. checking for mysql_query() in -lmysqlclient... no   
    13. checking for main() in -lnsl... yes   
    14. checking for mysql_query() in -lmysqlclient... no   
    15. checking for main() in -lmygcc... no   
    16. checking for mysql_query() in -lmysqlclient... no   
    17. *** extconf.rb failed ***   
    18. Could not create Makefile due to some reason, probably lack of   
    19. necessary libraries and/or headers.  Check the mkmf.log file for more   
    20. details.  You may need configuration options.   
    21.   
    22. Provided configuration options:   
    23.     --with-opt-dir   
    24.     --without-opt-dir   
    25.     --with-opt-include   
    26.     --without-opt-include=${opt-dir}/include   
    27.     --with-opt-lib   
    28.     --without-opt-lib=${opt-dir}/lib   
    29.     --with-make-prog   
    30.     --without-make-prog   
    31.     --srcdir=.   
    32.     --curdir   
    33.     --ruby=/usr/local/ruby/bin/ruby   
    34.     --with-mysql-config   
    35.     --without-mysql-config   
    36.     --with-mysql-dir   
    37.     --without-mysql-dir   
    38.     --with-mysql-include   
    39.     --without-mysql-include=${mysql-dir}/include   
    40.     --with-mysql-lib   
    41.     --without-mysql-lib=${mysql-dir}/lib   
    42.     --with-mysqlclientlib   
    43.     --without-mysqlclientlib   
    44.     --with-mlib   
    45.     --without-mlib   
    46.     --with-mysqlclientlib   
    47.     --without-mysqlclientlib   
    48.     --with-zlib   
    49.     --without-zlib   
    50.     --with-mysqlclientlib   
    51.     --without-mysqlclientlib   
    52.     --with-socketlib   
    53.     --without-socketlib   
    54.     --with-mysqlclientlib   
    55.     --without-mysqlclientlib   
    56.     --with-nsllib   
    57.     --without-nsllib   
    58.     --with-mysqlclientlib   
    59.     --without-mysqlclientlib   
    60.     --with-mygcclib   
    61.     --without-mygcclib   
    62.     --with-mysqlclientlib   
    63.     --without-mysqlclientlib   
    64.   
    65.   
    66. Gem files will remain installed in /usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql-2.8.1 for inspection.   
    67. Results logged to /usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql-2.8.1/ext/mysql_api/gem_make.out  

    --------------------------------

    沒有安裝下面這個造成的
    Java代碼 復制代碼
    1. apt-get install libmysqlclient-dev  


    安裝好這個,終于可以 gem install mysql了

    再運行 rake test
    再次出錯
    !!! Missing the mysql gem. Add it to your Gemfile: gem 'mysql', '2.8.1'
    再看,忘了把gem 'mysql','2.8.1' 這句話放到Gemfile文件

    終于……
    可以運行rake test了
    posted on 2011-03-05 07:44 大鳥 閱讀(2493) 評論(0)  編輯  收藏 所屬分類: linux
    主站蜘蛛池模板: 人妻无码中文字幕免费视频蜜桃| 国产精品亚洲lv粉色| 在线观看人成视频免费无遮挡| 国产精品久免费的黄网站| 亚洲精品伦理熟女国产一区二区| 成人免费午间影院在线观看| 久久精品国产亚洲av麻豆蜜芽| 57PAO成人国产永久免费视频| 亚洲国产成人久久综合一区| 青春禁区视频在线观看直播免费| 亚洲日韩亚洲另类激情文学| 日韩免费视频一区| 四虎精品成人免费视频| 色久悠悠婷婷综合在线亚洲| 水蜜桃视频在线观看免费播放高清| 亚洲精品午夜无码专区| 毛片免费全部播放无码| 最新国产成人亚洲精品影院| 波多野结衣免费视频观看| 黄视频在线观看免费| 香蕉视频在线观看亚洲| 在线观看av永久免费| 黄网站色成年片大免费高清| 伊人久久综在合线亚洲91| 精品无码无人网站免费视频| 久久亚洲精品专区蓝色区| 免费播放春色aⅴ视频| 暖暖在线视频免费视频| 亚洲AV无码国产精品色| 亚洲国产精品一区二区第一页免| 最新亚洲成av人免费看| 亚洲午夜精品国产电影在线观看| 国产成人免费高清在线观看| 成全视频高清免费观看电视剧| 亚洲最大黄色网站| 伊在人亚洲香蕉精品区麻豆| 日韩内射激情视频在线播放免费| 亚洲乱色伦图片区小说| 国产精品亚洲一区二区三区在线| 成年女性特黄午夜视频免费看| 中国好声音第二季免费播放|