谁能解释一下 npm 这种行为背后的原因是我没有正确安装依赖项还是其他原因

Ris*_*777 4 node.js npm

PS E:\test> npm install <packagename> --save -dev Says --dev option is depreacated use --only=dev npm WARN install Usage of the --dev option is deprecated. Use --only=dev instead.

当我将调用更改为 npm 时,如下所示

PS E:\test> npm install <packagename> --only=dev 我收到以下错误

-- (empty) npm ERR! code

我如何调试它并了解更多信息?

jah*_*ado 7

这真是一个有趣的情况。确实,你打错了。而不是写--save-dev你写--save -dev。已经有一个--dev参数可用于仅安装 package.json 中定义的开发依赖项。可能解析器认为您想要键入--dev而不是-dev因此它会给您弃用警告。将--dev被弃用,被替换--only=dev的说法。这仅适用于整个 package.json 而不适用于特定的包。所以npm install <packagename> --only=dev有点无效。


ale*_*mac 6

如果您需要安装新模块并将其保存devDependencies在 package.json 中,您应该使用以下命令:

npm i <packagename> -D
# or:
npm i <packagename> --save-dev # without space
Run Code Online (Sandbox Code Playgroud)

如果您的devDependencies部分不为空,并且您只想安装该部分中的模块,则应使用以下命令:

npm i --only=dev
Run Code Online (Sandbox Code Playgroud)

--only={prod[uction]|dev[elopment]} 参数将导致仅安装 devDependency 或仅安装非 devDependency,无论 NODE_ENV 为何。