NPM 常用简写命令
包安装相关命令
在安装 NPM 包时,常用的简写命令包括:
npm i
是 npm install
的简写,用于安装 package.json
中的所有依赖。
npm i <package-name>
安装指定的依赖包。例如,npm i express
会安装 Express,并默认将其添加到 dependencies
中。
npm i -S <package-name>
或 npm i --save <package-name>
用于安装某个依赖,并将其添加到 dependencies
中。需要注意的是,从 NPM 5.0.0 开始,--save
是默认行为,通常无需显式添加 -S
。
npm i -D <package-name>
或 npm i --save-dev <package-name>
用于安装某个开发依赖,并将其添加到 devDependencies
中。
npm i -g <package-name>
或 npm i --global <package-name>
用于全局安装某个依赖,适用于需要在命令行中全局使用的工具,如 nodemon
。
npm un <package-name>
是 npm uninstall
的简写,用于卸载指定的依赖包。例如,npm un express
会卸载 Express 并从 dependencies
中移除。
在实际项目中,应根据依赖的用途选择合适的安装命令。项目运行时所需的依赖使用 npm i -S
,开发阶段的辅助工具依赖使用 npm i -D
,这样可以保持 package.json
的清晰和易维护。
包更新相关命令
在项目维护过程中,常需要更新依赖包到最新版本,可以使用以下简写命令:
npm up
是 npm update
的简写,用于更新 package.json
中的所有依赖到符合版本范围的最新版本。
npm outdated
用于检查当前项目的依赖中是否有过时的包。该命令会列出所有过时的依赖及其当前版本、想要的版本和最新版本。
在更新依赖时,建议先使用 npm outdated
检查是否有重大更新,避免直接使用 npm up
导致项目出现兼容性问题。如果 npm outdated
列出了有重大更新的依赖,建议手动选择性更新,并在更新后进行充分的测试。
配置相关命令
NPM 提供了一些配置相关的命令,虽然并不常见简写形式,但了解其用法有助于更好地管理 NPM 配置:
npm config
用于管理 NPM 的配置。例如:
npm config list
显示当前所有的 NPM 配置。npm config get <key>
获取某个配置项的值。npm config set <key> <value>
设置某个配置项的值。
尽管可以尝试使用 npm c
作为 npm config
的简写,但这种用法并不被官方文档推荐,建议使用完整命令以确保兼容性和可读性。
其他常用命令
除了上述安装和更新相关的命令,NPM 还有一些其他常用的简写命令:
npm v <package-name>
是 npm view <package-name>
或 npm version <package-name>
的简写,用于查看包的信息或版本。
npm ls
是 npm list
的简写,用于列出当前项目的所有依赖及其树状结构。
npm help
是 npm -h
的简写,用于查看 NPM 的帮助信息。
npm -v
是 npm --version
的简写,用于查看当前 NPM 的版本号。
运行脚本命令
NPM 还可以用于运行在 package.json
中定义的各种脚本:
npm start
用于运行 package.json
中的 start
脚本。
npm test
用于运行 package.json
中的 test
脚本。
npm run <script-name>
用于运行 package.json
中的自定义脚本,例如 npm run build
。
在实际项目中,建议将常用的构建、测试等命令定义为 NPM 脚本,并通过这些简写命令来运行,从而提高开发效率。
常见问题
Cannot read property 'pickAlgorithm' of null
这个错误通常是由于全局安装的 node
版本与本地项目使用的 node
版本不一致导致的。解决方法如下:
首先,清除 NPM 缓存:
npm cache clear --force
然后,重新安装依赖:
npm install
如何更新项目依赖
在更新项目依赖时,如果遇到某些依赖的 peer dependencies 版本冲突,可以使用以下命令:
npm install --legacy-peer-deps
这个命令会忽略 peer dependencies 的版本检查,强制安装依赖。但需要注意,这可能会导致某些依赖出现兼容性问题,因此在更新后务必进行充分的测试。