在我的 package.json 中
"devDependencies": {
...
"prettier": "^2.8.4",
...
}
我跑
npm i
.
然后:
$ prettier
bash: prettier: command not found
$ npx prettier -v
/var/folders/q6/npwl_7xj4wg91lg06f8pnnfh0000gn/T/npx-b98a4fce.sh: line 1: prettier: command not found
不确定这-
/var/folders/q6/npwl_7xj4wg91lg06f8pnnfh0000gn/T/npx-b98a4fce.sh
-是否正常。
我正在使用 nvm,使用节点
v16.17.1
和 npm v8.15.0
知道为什么会发生这种情况或如何调试它吗?
编辑:
prettier
在我npm install -g prettier
全局安装更漂亮之后工作。但是没有这个它不应该工作吗?
安装包含 prettier、nodemon 等 CLI 程序的模块,会将程序放置在
node_modules/.bin
中。当您运行命令时,您的终端 shell 不知道要查看此文件夹。在终端中键入echo $PATH
以查看运行命令时检查的文件夹列表。你会看到运行prettier
会在/bin
,/usr/bin
,/usr/local/bin
等地方寻找,但绝对不是/var/folders/q6/npwl_7xj4wg91lg06f8pnnfh0000gn/T/node_modules
.
这就是经常使用
npx
的原因;来自他们的文档:
从本地 node_modules/.bin 或中央缓存执行,安装运行所需的任何包。
你也可以通过
./node_modules/.bin/prettier
运行它,或者你可以全局安装它,就像你最终所做的那样,这将把它放在你的 $PATH
. 的一个地方