win10安裝Ruby和Ruby on Rails


win10安裝Ruby和Ruby on Rails

寫於2020-9-11,因為自己安裝的過程非常艱辛,所以希望記錄一下一些要點,希望能避免其他人踩同樣坑。

安裝Ruby

1. 下載RubyInstaller(Devkit版)

從官網https://rubyinstaller.org/downloads/下載所需版本的Ruby+Devkit

我這里下載的是2.7.1的版本,大小為130MB

(一定要下Devkit版本,我開始下的沒有Devkit的版本一直不行)

2. 安裝Ruby

選擇 I accept the License

按照默認的路經安裝(我查到有帖子說改變路經可能導致不明bug,建議按默認)

下面的三個選項全部選上

選擇安裝相應的development toolchain

開始安裝

3. 檢測是否成功

輸入ruby -v 檢查Ruby是否安裝成功

(我這里顯示的是2.7.1)


安裝Rails

1. 安裝MSYS2 and MINGW development toolchain(gem)

在正確安裝完Ruby之后會彈出一個選項,詢問是否繼續安裝,選擇繼續就會彈出這樣一個界面

如果沒有選擇繼續安裝也沒有關系,在cmd命令行輸入ridk install也可以打開這個界面

在這里輸入3進行安裝

(出現問題怎么辦會在后面寫)

2. 檢查gem是否安裝成功

輸入gem -v 檢測gem是否安裝成功,應該會顯示gem的版本號

(我這里顯示的是3.1.2)

3.安裝Rails並檢查

輸入gem install rails安裝

裝好后輸入rails -v檢查是否安裝成功

(我這里顯示的是6.0.3.3)


奇妙的bug

1. 找不到exe

在安裝過程中提示C:\Users\Jason\AppData\Local\Temp下找不到msys2-x86_64-20190524,並且寫出了下載的網址是http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20190524.exe

直接打開這個網頁下載很慢/下載不了,把鏈接放到迅雷很快就能下好

之后把這個文件放到他要求的這個路徑位置即可

2. gem安裝失敗

在安裝過程中提示請求時間過長,安裝失敗,用gem -v檢查時不能得到正確的結果或者不能安裝rails。可能是因為默認的網站是國外的源導致的

首先要給MSYS2換源,我這里選擇了換成中科大的:

msys64\etc\pacman.d 目錄下有三個文件:
mirrorlist.msys
mirrorlist.mingw64
mirrorlist.mingw32

把每個文件中的相關信息都修改

首先是 mirrorlist.msys:

##
## MSYS2 repository mirrorlist
##

## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = http://repo.msys2.org/msys/$arch
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/

mirrorlist.mingw64:

##
## 64-bit Mingw-w64 repository mirrorlist
##

## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = http://repo.msys2.org/mingw/x86_64
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = http://www2.futureware.at/~nickoe/msys2-mirror/x86_64/
Server = http://mirror.bit.edu.cn/msys2/REPOS/

mirrorlist.mingw32:

##
## 32-bit Mingw-w64 repository mirrorlist
##

## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = http://repo.msys2.org/mingw/i686
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = http://www2.futureware.at/~nickoe/msys2-mirror/i686/

3. 無法鎖定數據庫

如果即使更換了源之后出現了提示無法初始化事務處理(無法鎖定數據庫)

刪除msys64/var/lib/pacman/db.lck重新安裝rails即可

最后終於大功告成了!感激涕零


一些碎碎念

從中午開始安裝,耗費了一個下午加一個晚上才勉強裝好,內心極其崩潰。開始聽說win10不好裝,但是Linux和macOS又不熟悉,所以想偷懶。結果win10裝了半天總是有問題,想起來老師說Linux裝起來最容易,又去找win10的Linux子系統怎么開。

Linux子系統好不容易搞明白了,突然發現這個功能不全,好像不能運行RubyMine。又掉過頭想在macOS上裝。

在等待macOS下載相應版本的文件的時候,又覺得win10花了那么多心思沒裝好很虧,還想再努力一把,突然就裝好了。

我覺得最離奇的事莫過於,我為了寫這篇博客,按照完全相同的操作在我的Mac Pro上win10系統重新安裝一遍Ruby和Rails的時候,彈出的內容和之前完全不同。沒有遇到任何障礙5min就裝完了。而之前在Mac Air上用同樣的軟件包安裝,安裝出來一堆的問題。結果也不知道到底是什么導致這樣的結果。

希望看這篇博客的你能5min搞定!別走我那奇奇怪怪的彎路


參考資料

安裝過程中借鑒了不少教程,對前人的貢獻表示感謝!

https://jingyan.baidu.com/article/5bbb5a1bd3c7ba13eba17988.html

https://www.cnblogs.com/yank/archive/2009/02/07/1379398.html

https://www.cnblogs.com/findumars/p/6546088.html

https://www.cnblogs.com/innershare/p/12364113.html

新的bug

之前只檢查了rails的版本,還沒有檢測rails的正常功能。在我通過rails new a(項目名)創建新的application的時候又出現了新的問題

  1. node和nodejs不是可執行的命令

是沒有安裝node.js包造成的,根據提示去相應的網站下載包並安裝即可

  1. yarn不是可執行的命令

是沒有安裝yarn包造成的,根據提示去相應網站下載包並安裝(可能會出現問題)

不要用gem install yarn安裝!!!

  1. 找不到可以執行的yarn / yarn不是最新的版本

報錯信息之一:

Traceback (most recent call last):
        2: from C:/Ruby27-x64/bin/yarn:23:in `<main>'
        1: from C:/Ruby27-x64/lib/ruby/2.7.0/bundler/rubygems_integration.rb:402:in `block in replace_bin_path'
C:/Ruby27-x64/lib/ruby/2.7.0/bundler/rubygems_integration.rb:374:in `block in replace_bin_path': can't find executable yarn for gem yarn. yarn is not currently included in the bundle, perhaps you meant to add it to your Gemfile? (Gem::Exception)


========================================
  Your Yarn packages are out of date!
  Please run `yarn install --check-files` to update.
========================================


To disable this check, please change `check_yarn_integrity`
to `false` in your webpacker config file (config/webpacker.yml).

gem自動安裝的yarn不知道為什么是0.01版本的,不是可以使用的版本。需要單獨下載之后使用yarn add gem方式添加到gem包中,然后再運行rails new a


新的參考資料

https://yarn.bootcss.com/docs/cli/add/

https://ruby-china.org/topics/26314

https://github.com/rails/webpacker/issues/818


rails驗證方法

參考https://ruby-china.github.io/rails-guides/getting_started.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM