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

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

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

    大鳥(niǎo)的學(xué)習(xí)樂(lè)園
    路漫漫其修遠(yuǎn)兮,吾將上下而求索
    posts - 26,comments - 27,trackbacks - 0
    接下來(lái),CentOS gcc安裝
    yum -y install gcc

    升級(jí)到rails3+ruby1.9.2過(guò)程中遇到的各種問(wèn)題

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

    一 升級(jí)ruby1.8.7到1.9.2

    首先下載ruby-1.9.2
    Java代碼 復(fù)制代碼
    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 # 建立一個(gè)軟鏈接  

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


      修改完畢,重啟系統(tǒng),搞定

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

    ruby安裝完成

    二 GEM的升級(jí)

    運(yùn)行g(shù)em命令,出錯(cuò)提示:依賴(lài)的ruby1.8.7 出現(xiàn)錯(cuò)誤,這個(gè)是以前殘留的
    于是乎 /usr/bin 下的一系列g(shù)em gem1.8 gem×× 之類(lèi)的全部干掉

    在安裝ruby1.9.2之后gem已經(jīng)安裝了
    因?yàn)樯厦嬖O(shè)置了path,gem在usr/local/ruby/bin目錄下
    所以刪除殘留的那些后運(yùn)行g(shù)em依然可以
    Java代碼 復(fù)制代碼
    1. gem -v   
    2. 1.3.7  

    但是運(yùn)行g(shù)em list
    出現(xiàn)錯(cuò)誤
    Java代碼 復(fù)制代碼
    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),說(shuō)是缺少zlib
    Java代碼 復(fù)制代碼
    1. (1)sudo apt-get install zlib1g-dev    
    2. (2)然后到源碼目錄的ext/zlib下 (剛才解壓的ruby1.9.2目錄)   
    3. (3)ruby extconf.rb         (需要管理員權(quán)限)   
    4. (4)make    
    5. (5)sudo make install  

    gem list 這個(gè)可以運(yùn)行了
    gem install ×× 也可以運(yùn)行了

    補(bǔ)充說(shuō)明:
    雖然設(shè)置了環(huán)境變量的path路徑,還是要建立一下軟鏈接,要不然 執(zhí)行sudo ruby或者sudo gem時(shí)還是會(huì)報(bào)錯(cuò):
    Java代碼 復(fù)制代碼
    1. sudo: ruby: command not found  

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

    然后執(zhí)行 sudo gem -v 輸出 1.3.7

    三、安裝rails3

    運(yùn)行了rails -v
    bash: /usr/bin/rails:/usr/bin/ruby1.8:損壞的解釋器: 沒(méi)有該文件或目錄

    find了一下rails 發(fā)現(xiàn)/usr/lib/ruby/gems/1.8 目錄下面有rails文件
    /usr/bin/rails 便是運(yùn)行時(shí)調(diào)用的rails
    統(tǒng)統(tǒng)刪除

    執(zhí)行命令 gem install rails 開(kāi)始安裝rails
    安裝完成以后運(yùn)行 rails -v 沒(méi)問(wèn)題
    但是sudo rails -v 就回提示沒(méi)有這個(gè)命令
    跟上面同理:sudo ln -s /usr/local/ruby/bin/rails /usr/bin/rails

    sudo rails -v 也沒(méi)問(wèn)題了

    四 其他問(wèn)題

    打開(kāi)昨天的rails3+ruby1.8的項(xiàng)目,rake test出現(xiàn)錯(cuò)誤
    首先是一些gem的更新,造成的版本號(hào)不對(duì)應(yīng),修改之后,rake test
    錯(cuò)誤:Errors running test:units!
    不知道什么錯(cuò)誤

    單獨(dú)運(yùn)行
    Java代碼 復(fù)制代碼
    1. rake test:units   
    2. !!! Missing the mysql gem. Add it to your Gemfile: gem 'mysql''2.8.1'  
    現(xiàn)看了下gem list,發(fā)現(xiàn)還沒(méi)有安裝mysql 這個(gè)gem

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

    出錯(cuò),堆棧異常如下:
    ------------------------------------------
    Java代碼 復(fù)制代碼
    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  

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

    沒(méi)有安裝下面這個(gè)造成的
    Java代碼 復(fù)制代碼
    1. apt-get install libmysqlclient-dev  


    安裝好這個(gè),終于可以 gem install mysql了

    再運(yùn)行 rake test
    再次出錯(cuò)
    !!! Missing the mysql gem. Add it to your Gemfile: gem 'mysql', '2.8.1'
    再看,忘了把gem 'mysql','2.8.1' 這句話(huà)放到Gemfile文件

    終于……
    可以運(yùn)行rake test了
    posted on 2011-03-05 07:44 大鳥(niǎo) 閱讀(2493) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): linux
    主站蜘蛛池模板: 波多野结衣在线免费观看| 亚洲卡一卡2卡三卡4麻豆| 女人18毛片水真多免费播放| 国产真人无码作爱视频免费| 99亚洲男女激情在线观看| 亚洲国产精品午夜电影| 国产精品亚洲A∨天堂不卡| 国产在线观看免费视频播放器| 精品国产sm捆绑最大网免费站| 中文字幕无码免费久久| 一级毛片免费毛片毛片| 亚洲AV无码成人网站在线观看| 亚洲AV无码专区在线亚| 亚洲综合免费视频| 亚洲第一视频网站| 久久精品国产亚洲综合色| 国产成人亚洲精品91专区手机| 四虎国产精品免费视| 在线a毛片免费视频观看| 在线观看免费人成视频色| 最近中文字幕大全中文字幕免费 | 午夜毛片不卡高清免费| 亚洲免费在线观看视频| 久久综合给合久久国产免费| 日韩电影免费在线观看网站| 国产午夜精品理论片免费观看| 一级A毛片免费观看久久精品 | 成人毛片视频免费网站观看| 香蕉97超级碰碰碰免费公| AV大片在线无码永久免费| 国产精品入口麻豆免费观看| 在免费jizzjizz在线播| 国产成人精品免费视频大全麻豆| 免费国产污网站在线观看15 | 亚洲电影在线播放| 亚洲制服丝袜一区二区三区| 亚洲va精品中文字幕| 亚洲小说图片视频| 亚洲中文字幕无码中文| 亚洲丁香婷婷综合久久| 极品美女一级毛片免费|