使用npx运行npm包会导致安装devDependencies吗?

5

我在网络上很难得到一个清晰的答案。当你用npx运行一个包中的命令(例如npx mypackage sayhello),那么该包中的devDependencies是否会被安装?我猜是,但不确定。

2个回答

3

npx是一种工具,允许您执行软件包而不必全局安装它们(npx不会安装软件包)。npx仅用于从npm注册表中执行软件包。

npx确实会安装软件包,但仅供临时使用。

$ npx pm2
Need to install the following packages:
  pm2
Ok to proceed? (y) y
...
...

$ npm ls -g
/home/user/.node/
+-- npm@7.19.1
`-- typescript@4.3.5

您可以查看此答案以获取更多详细信息:

NPX在安装后将二进制文件存储在哪里?


我可能没有理解“install”这个词的微妙之处。从我的理解来看,Npx显然会“install”包:它下载包,解包,然后再重复这个过程,直到所有的依赖都安装完毕。它只是在运行脚本之后删除了临时位置中的文件而已。 - Steve Bennett
哦,你是在问是否已经为“那个”软件包安装了所有的依赖项以执行该软件包吗?通常它会自动安装,但有时npx会要求先安装依赖项。 - rishi
是的?我不确定你的其他解释是什么 :) 你知道它什么时候会问吗? - Steve Bennett

1
我刚刚测试过了,答案似乎是:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接