我剛剛重置了我的 Macbook,并在通過 npm 安裝軟體包后收到“找不到命令”。
我在我的機器上npm有一個作業安裝:node
$ node -v
v18.9.0
$ npm -v
8.19.1
我npm install在我的專案目錄中使用過,并且可以看到node_modules包含相關命令的檔案夾。
但是,當我運行類似的東西時eslint,我得到:
$ eslint
zsh: command not found: eslint
我的路徑是最新的:
$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
我假設我的機器無法找到已安裝的軟體包,但我不知道如何解決這個問題。
uj5u.com熱心網友回復:
在專案檔案夾中運行:
./node_modules/.bin/eslint --init
了解更多資訊。
uj5u.com熱心網友回復:
要eslint被識別為命令,您需要將其包含在其中PATH,一種方法是全域安裝該軟體包。這意味著運行該命令將運行全域安裝的包,而不是本地安裝的包。
如果要使用本地 node_modules 檔案夾中的包,則需要使用npx eslint. 您還可以在 中定義一個別名package.json來運行它npm run eslint。
最后一種可能的解決方案是將路徑添加node_modules/.bin到您的PATH.
uj5u.com熱心網友回復:
正如其他人在他們的回答中提到的那樣,我正在本地安裝軟體包,我需要npx使用它們才能使用它們。
對于這個特定專案,我正在安裝eslint以用于 Emacs 中的語法檢查。
出于這個原因,全域安裝更有意義,eslint這樣 Emacs 更容易找到可執行檔案,例如npm install -g eslint.
我已經這樣做了,它解決了我遇到的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/507913.html
