1 安裝fpm打包工具
建議首次安裝依次進行。後面很繞還容易把伺服器搞崩潰,即使安裝不上也就算了,這個打包在自己機器測試最好嘛。
1.1 首次安裝
yum -y install ruby rubygems ruby-devel
gem sources-a http://mirrors.aliyun.com/rubygems/
gem sources--remove http://rubygems.org/
gem installfpm
ERROR: Could not find a valid gem 'fpm' (>= 0) inany repository
可能是ruby阿裡雲源不穩定,添加ruby淘寶源
gem sources -a http://ruby.taobao.org/
Errorfetching http://ruby.taobao.org/:
bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
位址可能不正确,更換為https
gem sources -a https://ruby.taobao.org/
gem install fpm
下載下傳出錯,找不到,可能沒有删除ruby阿裡雲源,預設找第一個添加的去了,移除
gem sources
--remove
http://mirrors.aliyun.com/rubygems/
Buildingnative extensions. This could take awhile...
ERROR: Error installing fpm:
ruby-xz requires Ruby version >=1.9.3.
ruby版本太低安裝不了最新的fpm,更新ruby或安裝舊版本fpm如1.4.0:
gem install fpm -v 1.4.0
Successfullyinstalled clamp-0.6.5
Successfullyinstalled fpm-1.4.0
2gems installed
Installingri documentation for clamp-0.6.5...
Installingri documentation for fpm-1.4.0...
InstallingRDoc documentation for clamp-0.6.5...
InstallingRDoc documentation for fpm-1.4.0...
1.2 快照復原後安裝(營運商網絡也可能影響)
gem sources--remove http://rubygems.org/
json requires Ruby version ~> 2.0.
這個問題我不知道怎麼解決,考慮更新ruby了,那麼不管繼續執行下面安裝
還是報這個錯誤,索×××如何把ruby1.8.7更新到1.9.3了,但是又怕其他軟體比如會出問題,是以你要是怕就考慮安裝到一個專門的目錄吧,不要覆寫安裝。
wget https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz
wget http://pyyaml.org/download/libyaml/yaml-0.1.7.tar.gz
tar xf yaml-0.1.7.tar.gz
cd yaml-0.1.7
./configure
make
make install
cd ..
tar xf ruby-1.9.3-p125.tar.gz
cd ruby-1.9.3-p125
ruby --version
ruby1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
發現還是1.8.7,怎麼回事?于是檢視安裝成功的結尾處
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLyV2YhB3cvw1coRXYwNWaw91dfB3LcRHb1FmZlR2LcNXZtVGa09CXxYjM19CXl9CXt92Yu8GdjFTNuc2bsJ2Lc9CX6MHc0RHaiojIsJye.gif)
installingcommand scripts: /usr/local/bin
installinglibrary scripts: /usr/local/lib/ruby/1.9.1
installingcommon headers: /usr/local/include/ruby-1.9.1
installingmanpages: /usr/local/share/man/man1
但是指令目錄還是/usr/local/bin啊,和以前的一樣,那麼我執行ruby –version為什麼是1.8.7,奇怪,難道說是沒有覆寫,我去,我要把這個指令移走,重新編譯
which ruby
/usr/local/bin/ruby
mv /usr/local/bin/ruby /tmp/
/usr/bin/ruby
/usr/bin/ruby –version
為什麼還有一個,我去,陰魂不散啊,移走
mv /usr/bin/ruby /tmp/ruby2
重新編譯
檢視路徑:
檢視版本
/usr/local/bin/ruby –version
ruby1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]
哎,終于好了,老天有眼
那繼續下一步,安裝fpm,前面已經添加好了ruby淘寶源
-bash:/usr/bin/gem: /usr/bin/ruby: bad interpreter: No such file or directory
這又是什麼情況,說找不到ruby,我暈哦,難道gem指令内有寫ruby的路徑?
which gem
/usr/local/bin/gem
什麼情況,gem也不在/usr/bin/gem啊,可能這是後面安裝ruby就預設安裝了的,那我直接來個全路徑了
/usr/local/bin/gem install fpm
ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NameError)
uninitialized constantGem::Commands::InstallCommand
我要崩潰了,難道我生下來就是看紅屏的嗎?說無法加載zlib
rpm -qa zlib
zlib-1.2.3-29.el6.x86_64
zlib也是有的啊,算了,進入ruby源碼目錄,安裝源碼自帶的zlib
cd ext/zlib/
ruby extconf.rb
-bash:/usr/bin/ruby: No such file or directory
啥子情況哦,我又沒做啥子,ruby也找不到了,忘了用全路徑,可能PATH變量寫在前面的是以前那個,後面那個不去使用,預設使用前面那個,但是又被移除了,是以找不到
/usr/local/bin/ruby extconf.rb
make: Nothing to be done for `all'.
echo $?
貌似不是報錯
make: Nothing to be done for `install'.
再來安裝,我就不信
還是不行,難道沒有make成功
cd ../../
make clean
還是不行,哎,老子用yum死馬活馬醫
yum install zlib-devel –y
算了還是不行,老子不搞了,煞筆玩意,這條路不可行,整到天荒地老人都咽了。
下面我又恢複快照,按首次安裝進行了一次,一樣很順利
結論:還是按首次安裝一步步進行吧,可能中間某個錯誤的步驟以及幫你安裝了某些組建,跳過了所謂的