node & nodejs導致rails專案建立失敗

更新於 發佈於 閱讀時間約 4 分鐘
在第一次建立rails專案時,通常都會遇到不少問題,像我是使用windows系統,所以也經歷了一些麻煩。如果各位第一次建立rails專案就可以看到下圖綠色字體的成功字樣,那真的如天選之人般幸運阿~
如果你跟我一樣注定要經歷windows系統的苦痛,就請繼續看下去吧QQ

以下是我在建立rails專案時,所遇到的狀況:
$ rails new "project's name" 建立新專案,出現了「Node.js not installed. Please download and install Node.js」的錯誤訊息。
(記得:錯誤訊息不能忽略,否則會影響到日後的操作。)
這時只要按照後面給的網址下載node跟nodejs就好。
進入該網址後,往下拉點入install on windows subsystem for linux (wsl),這是為了讓你在你的終端機上進行安裝。
點進去後,往下拉到下圖的標題,開始按照步驟執行即可完成。

完成以上node跟nodejs安裝後,回到終端機上輸入rails new的指令建立專案應該就沒問題了。
但我有遇到新的問題:
系統在建立rails專案過程中,在安裝webpacker時發生失敗,其中「nod的'GLIBC_2.28' not found」的問題,找了很多網站但還是找不到解決方法。
然而下面一行的「Webpacker 的安裝需要nodejs為10.17.0版本以上才能執行,而目前系統使用的是8.10.0版本」。 (這部分不知道各位是不是都顯示8.10.0,但沒關係,因為你會看到這則Webpacker的錯誤訊息,就代表你的nodejs版本就是不符合他nodejs需要10.17.0版本以上的需求)
這個部分的問題,我嘗試了好幾遍後發現,只需要解決nodejs版本的問題就能夠順利建立專案(也就是不再有任何錯誤訊息,包含'GLIBC_2.28' not found)。
如果你在這時輸入指令確認版本 $ node -v 及 $ nodejs -v,可能會發現前者給你的訊息是剛剛看到的'GLIBC_2.28' not found,後者給你的訊息則是v8.10.0(也就是剛剛webpacker的錯誤訊息指出你nodejs正在使用的版本)。
那我們先把終端機關掉,重新開一個新的終端機,接著輸入指令$ nvm use --lts 將系統使用的node版本變成最新版本,輸入後便會看到系統說,正在使用 XXXX版(剛剛安裝的最新版)。
這時你在輸入指令確認版本 $ node -v 及 $ nodejs -v,前者不再出現'GLIBC_2.28' not found,而會出現 XXXX版,而nodejs還是顯示使用8.10.0版本。
確定了node -v 有出現最新版本,你就可以輸入rails new建立專案,此時應該就可以成功了。
但是使用 nvm use --lts 只是讓你變更當前使用的版本,所以你重開終端機,版本會回到原來的舊版本!!!
因此建議使用nvm alias default <version> 將預設版本變更成最新版本,往後建立專案就不必再遇到同樣的問題。
#設定v16.15.0為預設版本 #nvm alias default v16.15.0
即便你現在變更當前版本讓你可以順利建立專案,日後再啟動rails server 時,會因為你當前使用的node版本太老舊(因預設是舊的),而產生以下狀況:
所以建議更改node的預設版本,才能徹底解決問題。

另外推薦這位KEN 陳建權大大寫的關於使用 NVM 管理 Node.js 版本文章。
因為上述的問題,會導向NVM / NODE / NODE.JS 這些背景知識,而該文章有簡單介紹NVM是什麼,以及相關的設定變更指令。我覺得非常清楚好懂,對新手非常友善。

如果你有遇到其他問題~希望你能分享上來一起想辦法~
希望這篇文章能夠幫助到各位閱讀者,祝大家順利~
avatar-img
1會員
13內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Mike的沙龍 的其他內容
public: 完全公開的方法,內外皆可存取。 private: 對外限制,不能有特定的receiver,故僅能在類別方法裡使用,且不能有receiver。 protected : 對外有限制,不能有receiver,但在class裡面則可有receiver也可以沒有receiver。
public: 完全公開的方法,內外皆可存取。 private: 對外限制,不能有特定的receiver,故僅能在類別方法裡使用,且不能有receiver。 protected : 對外有限制,不能有receiver,但在class裡面則可有receiver也可以沒有receiver。
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
首先確定VS Code的版本,如果你的版本跟我一樣是1.92.0那麼你可以參考我的作法...
Thumbnail
在安裝 NET Framework 3.5 時,可能遇到在 Windows 11 下無法安裝的問題。本文提供了一種解決方案......
※ 補充說明: ※ npm 常用指令: ◦ npm init–y:快速初始化一個新的 Node.js 並建立一個 package.json 文件的命令。 ◦ npm info 套件名稱 version:快速查詢指定 npm 套件的最新版本號。 ◦ npm install套件名稱:用來安裝
Thumbnail
Node.js是一個JavaScript運行環境。它使用了一個非阻塞、事件驅動的I/O模型,使其非常適合用於數據密集型的即時應用程序。簡單來說,Node.js允許你使用JavaScript來編寫伺服器端代碼。 nvm 安裝nvm Windows : 點擊 Releases · coreybut
Thumbnail
本章節將引導你如何建立一個TypeScript開發環境,這包括安裝Node.js、npm和TypeScript,建立一個TypeScript項目,設置編輯器,以及編寫和編譯TypeScript代碼。在完成這些步驟之後,你將能夠編寫、編譯和運行TypeScript代碼。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
如果你明明從JAVA 官網下載了 Java SE. 又設定好了JAVA_HOME,但還是run java application 的時候出現了這個問題,很可能你需要的並不是JAVA SE.
※ Express 專案步驟筆記清單 Node.js 環境建置核對 新增專案資料夾 設定 package.json npm init -y 設定程式入口為 app.js 安裝 Express:npm install express 設定主程式 app.js 建構應用程式伺服器 設定
Thumbnail
解決 setuptools 的問題: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. 解決方法 目前
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
首先確定VS Code的版本,如果你的版本跟我一樣是1.92.0那麼你可以參考我的作法...
Thumbnail
在安裝 NET Framework 3.5 時,可能遇到在 Windows 11 下無法安裝的問題。本文提供了一種解決方案......
※ 補充說明: ※ npm 常用指令: ◦ npm init–y:快速初始化一個新的 Node.js 並建立一個 package.json 文件的命令。 ◦ npm info 套件名稱 version:快速查詢指定 npm 套件的最新版本號。 ◦ npm install套件名稱:用來安裝
Thumbnail
Node.js是一個JavaScript運行環境。它使用了一個非阻塞、事件驅動的I/O模型,使其非常適合用於數據密集型的即時應用程序。簡單來說,Node.js允許你使用JavaScript來編寫伺服器端代碼。 nvm 安裝nvm Windows : 點擊 Releases · coreybut
Thumbnail
本章節將引導你如何建立一個TypeScript開發環境,這包括安裝Node.js、npm和TypeScript,建立一個TypeScript項目,設置編輯器,以及編寫和編譯TypeScript代碼。在完成這些步驟之後,你將能夠編寫、編譯和運行TypeScript代碼。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
如果你明明從JAVA 官網下載了 Java SE. 又設定好了JAVA_HOME,但還是run java application 的時候出現了這個問題,很可能你需要的並不是JAVA SE.
※ Express 專案步驟筆記清單 Node.js 環境建置核對 新增專案資料夾 設定 package.json npm init -y 設定程式入口為 app.js 安裝 Express:npm install express 設定主程式 app.js 建構應用程式伺服器 設定
Thumbnail
解決 setuptools 的問題: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. 解決方法 目前