簡體   English   中英

無法在 WSL2 上安裝 nodemon

[英]Can't install nodemon on WSL2

我正在學習node.js,我嘗試安裝nodemon來練習,但是在WSL2(ubuntu)中我無法安裝或運行它。 如果我嘗試使用 Windows 安裝或運行同一個項目,它可以工作,但是當我在 WSL2 中打開同一個項目時,它會顯示錯誤或警告:

ubuntu@DESKTOP-254V119:~/lecture/lec69$ npm install nodemon
loadDep:update-notifier → ▌ ╢█████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine update-notifier@5.1.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.loadDep:fsevents → addNam ▌ ╢█████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine fsevents@2.3.2: wanted: {"node":"^8.16.0 || ^10.6.0 || >=11.0.0"} (current: {"node"loadDep:semver → resolveW ▀ ╢███████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:xdg-basedir → 304 ▀ ╢███████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:xdg-basedir → get ▌ ╢███████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine is-installed-globally@0.4.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
loadDep:xdg-basedir → 304 ▐ ╢███████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:wrap-ansi → 304   ▄ ╢███████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine camelcase@6.3.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine type-fest@0.20.2: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
loadDep:is-path-inside →  ▌ ╢████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟)
WARN engine global-dirs@3.0.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"loadDep:ini → 304         ▐ ╢████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:lru-cache → 304   ▄ ╢████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟

> nodemon@2.0.15 postinstall /home/ubuntu/lecture/lec69/node_modules/nodemon
> node bin/postinstall || exit 0

lec69@1.0.0 /home/ubuntu/lecture/lec69
└── nodemon@2.0.15  extraneous

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@2.3.2
npm WARN lec69@1.0.0 No repository field.

這是我的 package.json 文件:

{
  "name": "lec69",
  "version": "1.0.0",
  "description": "this is bad",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "awsome"
  ],
  "author": "arjun",
  "license": "ISC"
}

我正在學習 node.js,我看到的每個開發人員都說 Linux 非常適合 Web 開發。 我試過了,這是我看到的第一個錯誤。

我是 Linux 的新手,所以我不知道我做錯了什么還是別的什么。 大聲笑,我什至檢查了我的拼寫。

請記住仔細閱讀錯誤和警告消息:

wanted: {"node":">=10"} (current: {"node":"8.10.0"

在我看來,您在 WSL 下的 Ubuntu 18.04 上並通過sudo apt install nodejs

8.10.0是該版本的 apt 存儲庫中可用的最新節點版本,這對於nodemon顯然是不夠的。

請注意,可用於 WSL 的 Ubuntu 版本是所謂的“長期支持”(LTS) 版本。 這意味着(除其他外)它們已使用一組特定的軟件版本進行了良好的測試,然后通常只使用安全補丁進行更新。 因此,您通常不會在存儲庫中找到任何軟件的最新版本。 Ubuntu 18.04 大約在 4 年前發布,這在 web-dev 中當然是很長一段時間了。 LTS 版本每兩年發布一次,即 4 月,因此 22.04 版本即將發布。

在 WSL 下使用至少 Ubuntu 20.04 會更好。 它支持 node 10.19.0,這對於nodemon來說已經足夠了。

使用某種可以獨立於apt安裝(並在其之間切換)多個 Node 版本的“節點版本管理器”會更好。 最受歡迎的(恕我直言)是nvm ,但我自己使用n

注意:我有一些用於確認這一點的“一次性”WSL 實例。 我可以在 18.04 上重現您的錯誤,但我無法使用 20.04 下的 repo-available Node.js 安裝nodemon

請使用 -L 標志運行 nodemon。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM