因为今天使用npx安装storybook时,发生错误,故决定了解npx、npm它们之间的关系以及为什么我用npx安装出错。
一、npx和npm关系
npm 和 npx 都是与包管理和脚本执行相关的工具,但它们的功能和用法有一些区别。
npm(Node Package Manager)是 Node.js 的官方包管理器,用于安装、管理和发布 JavaScript 包。使用 npm,您可以在项目中安装依赖项、管理版本、运行脚本等。
使用 npm 安装包时,它会将包下载到本地的 node_modules 目录中,并在项目的 package.json 文件中记录依赖项。这样,您可以通过运行 npm install 命令来安装项目所需的所有依赖项。
npx 是 npm 5.2.0 版本引入的一个工具,用于执行临时安装的包。它的一个主要用途是在不全局安装包的情况下运行命令行工具。
当你使用 npx 运行一个包时,它会首先在本地查找该包,如果找不到,则会去全局查找。npx 的目的是为了避免全局安装过多的包,减少包冲突和管理上的困扰。它会根据当前项目的依赖关系,自动找到本地安装的包并执行。
总结来说,npm 用于安装和管理包,而 npx 用于临时执行包中的命令。
二、npx安装为什么出错了呢
由于我的全局路径中有空格,那么先进入"C:\Users\用户.npmrc" 此处的用户是你自己的用户名哈
可以看到我的prefix路径中有空格,导致其识别错误。
将其换成一个没有空格的路径即可,就会解决报错的问题。