npm开关如何解决Windowspath长度问题

在Windows上NPM由于依赖关系的深层嵌套而存在问题。 为了解决这个问题,朋友build议使用下面的命令

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."

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

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

当然。 在npm发布的许多软件包既可以用作命令行工具,也可以以编程方式使用。 例如, jslint包发布了一个用于linting文件的命令行工具和一个可以被require的API,所以你可以编写使用jslint

在创build进入bin目录的文件时,深层path问题通常变得可见,以供命令行使用。 深层path通常不会影响以编程方式使用require包。

因此,对于一个包的“常规”依赖关系,省略bin链接通常是无害的,因为这些依赖关系被require所消耗。

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

顺便提一句,如果你还没有更新,你应该更新到最新的npm – 在本文中,最新版本是2.1.16,在Windows上更新npm的指南在这里: https : //github.com/npm/npm/wiki/故障排除#升级式窗口