fish安裝node.js環境

為什么強調fish shell,因為fish shell的緣故,不能直接執行node.js官網的命令

好的,您遇到了一個非常典型且重要的問題。請仔細閱讀我的分析,這能幫您徹底解決問題。

問題診斷

您看到的所有錯誤,歸根結底有兩個核心原因:

  1. 您正在使用 Fish Shell:從命令行末尾的 fish: 提示可以看出,您使用的不是 Linux 默認的 bash,而是 fish。Fish Shell 的腳本語法與 bash 不兼容
  2. 錯誤的加載方式nvm 的標準安裝腳本和您執行的加載命令 \. "$HOME/.nvm/nvm.sh" 都是為 bashzsh 設計的。當 Fish 嘗試去讀取 nvm.sh這個 bash 腳本時,它無法理解其中的語法(比如錯誤信息里的 Unexpected ')' found),因此加載失敗。

加載失敗的直接后果就是,nvm 命令在您的 Shell 中根本不存在,所以系統會提示 nvm: command not found

請不要按照系統的建議去用 sudo zypper install nodejs-common,那會繞開我們想要使用的 nvm,導致版本管理混亂。

根本的解決方法

我們需要用“Fish 的方式”來安裝和使用 nvm。最推薦的方法是使用一個名為 nvm.fish 的包裝器(wrapper),它能讓 nvm 完美地在 Fish Shell 中工作。

請按照以下步驟操作,這將一勞永逸地解決您的問題。


操作步驟

第一步:徹底清理舊的、不完整的安裝

我們必須先刪除之前錯誤的安裝留下的痕跡。

在您的終端里執行以下命令,徹底刪除 .nvm 目錄:

rm -rf ~/.nvm

然后,檢查一下 .bashrc 文件,確保里面沒有 nvm 相關的代碼(根據日志,它可能被添加過)。

# 這個命令會打開文件,檢查并刪除包含 "NVM_DIR" 的行,然后保存退出
# 如果您不熟悉 vim,也可以用圖形界面的文本編輯器打開 /home/yqh/.bashrc
vim ~/.bashrc 

(進入 vim 后,找到相關行,按 dd 刪除,然后按 :wq 保存退出)

第二步:為 Fish 安裝插件管理器 fisher

fisher 是 Fish Shell 最流行的插件管理器。如果還沒有安裝,請用下面這個命令安裝:

curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
第三步:使用 fisher 安裝 nvm.fish

這是最關鍵的一步。執行以下命令來安裝 nvm 的 Fish 包裝器:

fisher install jorgebucaran/nvm.fish

安裝完成后,請重啟您的終端,或者新開一個終端窗口,以確保配置完全生效。

第四步:安裝并使用 Node.js

現在,您的 nvm 已經準備就緒,可以正常使用了!

  1. 安裝 Node.js v22:

    nvm install 22
    

    您會看到一個下載和安裝的進度條。

  2. 驗證安裝:

    node -v
    npm -v
    nvm current
    

    這次,您應該能看到正確的版本號輸出,不再有任何 command not found 的錯誤。

現在,您的開發環境已經按照最適合 Fish Shell 的方式搭建完畢了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89291.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89291.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89291.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

記一次Ubuntu22安裝MongoDB8并同步本地數據過程

1. 效果展示 2. 安裝MongoDB 8 根據官方文檔https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-ubuntu/一頓操作即可 2.1 配置微調支持遠程訪問 修改配置文件,默認/etc/mongod.conf # network interfaces net:port: 27017bindIp: 0.0.0.02.2 新增adm…

HarmonyOS應用開發高級認證知識點梳理 (三)狀態管理V2裝飾器核心規則

以下是針對HarmonyOS應用開發高級認證備考的?狀態管理V2裝飾器核心規則?知識點系統梳理: 一、核心裝飾器分類與功能 1. ?組件聲明裝飾器? ComponentV2? (1)基礎定義與限制 功能定位? 用于裝飾自定義組件,啟用V2狀態管理能力,需配…

SAP資產記賬相關業務成本中心為空的問題

用戶在資產記賬時,發現字段“成本中心”是空且為灰色的,并沒有顯示資產對應的成本中心,如下圖所示: 首先,關于資產購置記賬的相關業務,成本中心要不要顯示?其實是可以不顯示的,它是來…

智源大會AI安全論壇:深挖風險紅線,探討應對措施

6月7日,在與安遠AI聯合主辦的智源大會“AI安全論壇”上,來自MIT、清華、復旦、人大、智源、多倫多大學、新加坡管理大學、Redwood Research、瑞萊智慧和安遠AI 的學者與技術專家同臺,以“AI安全”為核心議題,從主旨報告&#xff0…

電機控制的一些筆記

1. 電角度和機械角度 電角度 機械角度 * 磁極對數 機械角度就是實際的空間幾何角度,范圍是0-360 https://blog.csdn.net/leekay123/article/details/108655482 https://www.bilibili.com/video/BV11Q4y1Y7kR/?spm_id_from333.788.recommend_more_video.1&vd…

c#手動編譯

一、配置環境變量 點擊環境變量,在用戶變量的path進行新建,點擊編輯 點擊新建 點擊新建 添加文件目錄 這是我的可能不一樣,C:\Windows\Microsoft.NET\Framework64\v4.0.30319 輸入 點擊確定,就可以了 二、建立cs文件 代碼實例…

pcap流量包分析工具設計

在復雜的網絡世界中,數據包是信息的載體,但也可能成為風險的源頭。無論是開發者調試接口,還是安全人員排查異常,都需要一個能夠看透數據本質的“眼睛”。然而,專業的網絡分析工具往往過于復雜,不適合快速定…

Qt 安裝與項目創建

一、Qt 介紹 1. Qt是什么? Qt是一個跨平臺的 C 開發庫,主要用來開發圖形用戶界面(Graphical User Interface,GUI)程序,當然也可以開發不帶界面的命令行(Command User Interface,CU…

基于注意力機制的方法預測的體重

我們有一些已知的身高(作為鍵 K K K)和對應的體重(作為值 V V V)。現在,我們想使用一種基于注意力機制的方法來“查詢”一個特定身高(比如 170cm)對應的體重。雖然這通常不是注意力機制的典型…

Modbus TCP 進階:基于以太網的遠程設備控制(一)

Modbus TCP 基礎回顧 ** 在工業自動化領域,Modbus TCP 是一種廣泛應用的通信協議,它基于以太網,為設備之間的通信搭建了橋梁,實現了遠程設備的高效控制。Modbus TCP 是 Modbus 協議家族中的一員,它在傳統 Modbus 協議…

linux魔術字定位踩內存總結

0,數據被改寫時我們需要怎么定位,我們首先需要確認數據是邏輯上被改寫還是踩內存被改寫的。 1,當數據被踩時,也就是出現數據異常時,并且可以穩定復現時,我們確認時踩固定內存時,我們可以使用魔術字定位問題。 代碼舉例查看確認。 #include <stdio.h> #include…

淺談Docker Kicks in的應用

正因為傳統部署的麻煩&#xff0c;我們希望減少整個安裝過程&#xff0c;將其簡單化&#xff0c;以下介紹兩個思路&#xff1a; 思路一&#xff1a;安裝 Docker 后安裝 Ghost&#xff0c;并且直接暴露 80 端口&#xff0c;此時所有請求由 Docker 內的 Express 服務器處理&…

【Rust + Actix Web】現代后端開發:從零構建高并發 Web 應用

目錄 項目概述環境準備項目創建與依賴配置系統架構設計核心代碼實現1. 數據庫模型 (src/models.rs)2. 應用狀態管理 (src/state.rs)3. 核心業務邏輯 (src/handlers.rs)4. 主應用入口 (src/main.rs) 高并發優化策略1. 異步處理模型2. 連接池配置優化3. 緩存策略設計 性能測試結果…

2025java面試題整理通俗易懂好記

一、Java 基礎 1. JVM 相關 Q&#xff1a;什么情況下會發生棧內存溢出&#xff1f; A&#xff1a;就像食堂打飯窗口前排隊&#xff0c;隊伍太長&#xff08;方法調用層級太深&#xff09;&#xff0c;或者每個人占的位置太大&#xff08;局部變量太多&#xff09;&#xff0c;…

內存分配算法(系統分配算法~應用常見算法)

一、內存碎片 內部碎片與外部碎片 內部碎片&#xff1a;指已分配給進程但未被實際利用的內存空間&#xff0c;屬于??已分配內存內部的浪費??。 外部碎片&#xff1a;內存中??零散分布的空閑小空間??&#xff0c;總量足夠但無法合并為大塊以滿足連續內存請求。 內部碎…

緩解停車難的城市密碼:4G地磁檢測器如何重構車位資源分配

城市停車難&#xff0c;是困擾車主和管理者的雙重痛點。尋找車位耗時耗力&#xff0c;人工計時收費易生糾紛&#xff0c;傳統管理模式效率低下。而 4G地磁檢測器 的出現&#xff0c;正悄然改變這一局面。它如同埋入城市道路的“感知神經元”&#xff0c;通過4G地磁檢測器 的精準…

【網工|查缺補漏】存儲與RAID技術①

目錄 ■存儲基礎 ▲存儲系統層次結構 ▲存儲介質選擇 ▲硬盤接口 ■傳統RAID技術 ▲RAID數據組織及存取方式 ▲RAID熱備與重構 ▲常用RAID技術 ■RAID2.0技術 ▲RAID2.0技術優勢 ■網絡存儲體系DAS/NAS/SAN ▲DAS (Direct Attached Storage) ▲FC SAN (Fiber Chan…

ESP官網的使用手冊網址

LED Control (LEDC) — Arduino-ESP32 2.0.14 documentation (readthedocs-hosted.com) 中文網站&#xff1a;紅外遙控 (RMT) - ESP32 - — ESP-IDF 編程指南 v5.4.2 文檔 (espressif.com)

網絡基礎知識與代理配置

網絡基礎知識 OSI七層模型與協議對應 OSI層功能典型協議應用層網絡服務接口&#xff0c;為應用程序提供網絡服務HTTP, HTTPS, FTP, SMTP, DNS, Telnet, SSH表示層數據格式化、代碼轉換、數據加密解密SSL/TLS, JPEG, GIF, ASCII, 壓縮算法會話層建立、管理和終止會話連接NetBI…

Windows 疑難雜癥集 - MsMpEng.exe 磁盤占用率持續高占

本系列記錄日常使用中遇到的一些問題及處理方法。系統環境為 Windows 10&#xff0c;但可能也適用于 Windows11&#xff0c;甚至也會包含部分 Windows7 等老系統環境。 有的時候感覺系統異常卡頓&#xff0c; CtrlShiftEsc 打開任務管理器&#xff0c;看到某個磁盤居然IO達到了…