Npm
快来分享你的内容吧~
- 2025-04-24·全栈开发
- 2025-03-17·云兮导航: https://www.xd
npm、yarn、pnpm 设置最新国内镜像源
## npm ```BASH #查询源 npm get registry #设置源 # 国内 淘宝 镜像源 npm config set registry https://registry.npmmirror.com/ # 官方镜像源 npm config set registry https://registry.npmjs.org/ ``` ## pnpm ```BASH # 查询源 pnpm get registry # 设置源 # 国内 淘宝 镜像源 pnpm config set registry https://registry.npmmirror.com/ # 官方镜像源 pnpm config set registry https://registry.npmjs.org/ ``` ## yarn ```BASH 查询源 yarn config get registry 设置源 # 国内 淘宝 镜像源 yarn config set registry https://registry.npmmirror.com/ # 官方镜像源 yarn config set registry https://registry.yarnpkg.com/ ``` ## 镜像源集合 ```json { "npm": "https://registry.npmjs.org/", "yarn": "https://registry.yarnpkg.com/", "tencent": "https://mirrors.cloud.tencent.com/npm/", "cnpm": "https://r.cnpmjs.org/", "taobao": "https://registry.npmmirror.com/", "npmMirror": "https://skimdb.npmjs.com/registry/", "ali": "https://registry.npm.alibaba-inc.com/", "huawei": "https://mirrors.huaweicloud.com/repository/npm/", "163": "https://mirrors.163.com/npm/", "ustc": "https://mirrors.ustc.edu.cn/", "tsinghua": "https://mirrors.tuna.tsinghua.edu.cn/" } ``` ## 使用 nrm 切换镜像源 ### 安装 ``` npm install nrm -g # or sudo npm install nrm -g ``` ### 使用 ``` #列出所有的镜像源或查看当前使用的源 nrm ls # 切换源 nrm use # 添加源 nrm add testRegistry https://baidu.com/ # 删除源 nrm del testRegistry ```
npm 安装包的路径在哪里
欢迎关注:https://xdr630.blog.csdn.net/ # 1、npm 将软件包安装到哪里 - 当使用 npm 安装软件包时,可以执行两种安装类型: 1. 本地安装 2. 全局安装 ## 1. 本地安装 - 默认情况下,当输入 `npm install` 命令时,例如: ```bash npm install lodash ``` - 软件包会被安装到当前文件树中的 `node_modules` 子文件夹下。 - 在这种情况下,`npm` 还会在当前文件夹中存在的 `package.json` 文件的 `dependencies` 属性中添加 `lodash` 条目。 - 使用 `-g` 标志可以执行全局安装: - `npm install xxx` ,则是将模块下载到当前命令行所在目录。 ```bash 例如: c:\123>npm install xxx 将会安装到 c:\123\node_modules\xxx ``` - 这种方式显然是不好的,所以一般都会使用全局安装方式统一安装的一个目录中去,这样既方便管理、结构清晰还可以重复利用。 - 通过 `npm config get prefix` 来获取当前设置的目录。 ## 2. 全局安装 ```bash npm install -g lodash ``` - 在这种情况下,`npm` 不会将软件包安装到本地文件夹下,而是使用全局的位置。 - `npm install xxx -g` 时, 模块将被下载安装到【全局目录】中。【全局目录】通过 `npm config set prefix "目录路径"` 来设置。 - 通过 `npm config get prefix` 来获取当前设置的全局目录。 <img src="https://pic.code-nav.cn/post_picture/1624066347312943106/Ic0Cq6nwz4nOqK1b.webp" alt="在这里插入图片描述" width="100%" /> - 全局的位置到底在哪里? - `npm root -g` 命令会告知其在计算机上的确切位置。 - 如下是我重新配置的全局安装路径,详情请访问:[npm 设置全局变量安装路径及环境配置](https://xdr630.blog.csdn.net/article/details/111308202) <img src="https://pic.code-nav.cn/post_picture/1624066347312943106/jCYukPNCd7jOexZo.webp" alt="在这里插入图片描述" width="100%" /> - 在 macOS 或 Linux 上,此位置可能是 `/usr/local/lib/node_modules`。 在 Windows 上,可能是 `C:\Users\YOU\AppData\Roaming\npm\node_modules`。 - 如:我云服务器上的全局安装路径 <img src="https://pic.code-nav.cn/post_picture/1624066347312943106/cwvMDQ0LV8EJXfno.webp" alt="在这里插入图片描述" width="100%" /> - 但是,如果使用 `nvm` 管理 `Node.js` 版本,则该位置会有所不同。 - 例如,使用 `nvm`,则软件包的位置可能为 `/Users/joe/.nvm/versions/node/v8.9.0/lib/node_modules`。 # 2、如何使用或执行 npm 安装的软件包 - 当使用 `npm` 将软件包安装到 `node_modules` 文件夹中或 **全局安装** 时,如何在 `Node.js` 代码中使用它? - 假设使用以下命令安装了流行的 JavaScript 实用工具库 `lodash`: ```bash npm install lodash ``` - 这会把软件包安装到**本地的** `node_modules` 文件夹中。 - 若要在代码中使用它,则只需使用 `require` 将其导入到程序中: ```bash const _ = require('lodash') ``` - 如果软件包是可执行文件,该怎么办? - 在这种情况下,它会把可执行文件放到 `node_modules/.bin/` 文件夹下。 - 验证这一点的简单示例是 `cowsay`。 - `cowsay` 软件包提供了一个命令行程序,可以执行该程序以使母牛说些话(以及其他动物也可以说话)。 - 当使用 `npm install cowsay` 安装软件包时,它会在 `node_modules` 文件夹中安装自身以及一些依赖包: <img src="https://pic.code-nav.cn/post_picture/1624066347312943106/TJwycR0KYfQMUf17.webp" alt="在这里插入图片描述" width="100%" /> - 有一个隐藏的 `.bin` 文件夹,其中包含指向 `cowsay` 二进制文件的符号链接: <img src="https://pic.code-nav.cn/post_picture/1624066347312943106/HPB5cIXLS4tFEbbc.webp" alt="在这里插入图片描述" width="100%" /> - 如何执行这些文件? - 可以输入 `./node_modules/.bin/cowsay` 来运行它,但是最新版本的 `npm`(自 5.2 起)中包含的 `npx` 是更好的选择。 只需运行: ```bash npx cowsay ``` - 则 `npx` 会找到程序包的位置。 <img src="https://pic.code-nav.cn/post_picture/1624066347312943106/YSrJ7XNgf3VQaPmJ.webp" alt="在这里插入图片描述" width="100%" />
使用npm安装,出现idealTree:npm: sill idealTree buildDeps
<html> <head></head> <body> <div class="content ql-editor"> <p>今天在使用npm安装tyarn时,出现了</p> <p>[..................] / idealTree:node_global: sill idealTree buildDeps</p> <p>卡在这里,一直安装不上</p> <p><br></p> <p><br></p> <p>通过查找资料,发现可以这样解决:</p> <p><br></p> <ol> <li data-list="ordered"><span class="ql-ui"></span>删除 .npmrc 文件 (路径:C:\User\{账户}\.npmrc)</li> <li data-list="ordered"><span class="ql-ui"></span>清除缓存</li> </ol> <div class="ql-code-block-container"> <div class="ql-code-block"> npm cache verify </div> </div> <ol> <li data-list="ordered"><span class="ql-ui"></span>设置镜像源</li> </ol> <div class="ql-code-block-container"> <div class="ql-code-block"> npm config set registry https://registry.npmmirror.com </div> </div> <ol> <li data-list="ordered"><span class="ql-ui"></span>查看是否设置成功</li> </ol> <div class="ql-code-block-container"> <div class="ql-code-block"> npm config get registry </div> </div> <ol> <li data-list="ordered"><span class="ql-ui"></span>再使用npm安装就可以啦</li> </ol> </div> </body> </html>
一些关于npm的踩坑总结(持续更新...)
<html> <head></head> <body> <div class="content ql-editor"> <p>#npm#</p> <p><br></p> <p>(图片有防盗链搞不进来了, 以后自己建图床了在来更图)</p> <p><br></p> <h2><strong style="color: rgb(51, 51, 51);">报错-4048</strong></h2> <p><br></p> <p><span class="ql-font-monospace"></span></p> <p><br></p> <p>刚开始百度的时候有的帖子说直接删掉C:\Users\15387目录下的.npmrc文件,试过了之后发现十分可行,问题解决了(完)</p> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p><br></p> <p><br></p> <p>但是后来了解到.npmrc文件是用来存放npm全局下载路径以及缓存路径,还有npm注册表的地址,删了之后安装有的包时会报错,为了避免给以后留麻烦,我又恢复了这个文件,开始尝试其他方法(已解决安装node.js时的环境变量问题)</p> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p><br></p> <p>首先就是清除缓存</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm cache clean --force </div> </div> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p>但是依然报错(后来发现可能是源比较慢)</p> <p><br></p> <p>再次尝试</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm cache verify </div> </div> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p>依然卡到报错, 准备换源</p> <p><br></p> <p>1.查看现在的源</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm config get registry </div> </div> <p><br></p> <p>2.修改源</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm config set registry https://registry.npm.taobao.org </div> </div> <p><br></p> <p>3.再次查看现在的源, 确定已经修改</p> <p><span class="ql-font-monospace"> </span></p> <p>检查.npmrc文件</p> <p><span class="ql-font-monospace"> </span></p> <p><br></p> <p>再次尝试清除缓存</p> <p><span class="ql-font-monospace"> </span></p> <p>报错</p> <p><br></p> <p>检查npm版本是否不是最新版</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm view npm version </div> </div> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p>这个指令居然也报错???</p> <p><br></p> <p>删除node_cache缓存文件尝试随便一个指令</p> <p><span class="ql-font-monospace"> </span></p> <p>继续报错....</p> <p><br></p> <p>无奈将.npmrc文件删除, 将文件内容留在这里, 以后出错留着备用</p> <div class="ql-code-block-container"> <div class="ql-code-block"> prefix=D:\Compiler\nodejs\node_global </div> <div class="ql-code-block"> cache=D:\Compiler\nodejs\node_cache </div> <div class="ql-code-block"> registry=https://registry.npm.taobao.org/ </div> <div class="ql-code-block"> //nexus.nvware.com.cn/repository/npm-group/:_authToken=NpmToken.3eb6b621-8ba2-3d43-8d63-b3a407785b7c </div> <div class="ql-code-block"> </div> </div> <p>继续寻找无需删除文件的解决方法</p> <p><br></p> </div> </body> </html>
