这个npm开关如何修复Windows路径长度问题

McD*_*ean 5 node.js npm

在Windows上,NPM由于其依赖项的深层嵌套而存在问题.为了解决这个问题,朋友提出了以下命令

npm install <dep> -g --no-bin-link

手册页说明了这个命令

The --no-bin-links argument will prevent npm from creating symlinks for any binaries the package might contain."

任何人都可以用简单的语言解释这个标志对允许安装依赖项的影响是什么,这通常会导致深层路径问题?

Sam*_*kes 2

谁能用简单的语言解释这个标志对允许安装通常会导致深层路径问题的依赖项有什么影响?

当然。发布的许多软件包npm既可以作为命令行工具使用,也可以以编程方式使用。例如,该jslint包发布了一个用于 linting 文件的命令行工具和一个可以require调用的 API,因此您可以编写使用以下代码:jslint

当创建进入bin目录的文件以供命令行使用时,深层路径问题通常会变得明显。深层路径通常不会影响以编程方式使用的包require

因此,对于包的“常规”依赖项,省略 bin 链接通常是无害的,因为这些依赖项会被require.

对于全局安装的“dev”依赖项或包,通常需要保留 bin 链接,因为这些包更有可能用作命令行工具。

npm顺便说一句,如果您还没有更新到最新版本,则应该更新到最新版本 - 在撰写本文时最新版本是 2.1.16,npm在 Windows 上更新的指南位于: https: //github.com/npm/npm/wiki/Troubleshooting#在 Windows 上升级