首页 > 解决方案 > 在 Windows 上的 .npmrc 中可以有一个带空格的路径吗?

问题描述

我调用 npm config edit 时出错,就像找不到 notepad++ exe 一样。我得出的结论是 .npmrc 中指定的路径不能包含空格,并解决将其指向未安装在“程序文件”下的便携式版本的记事本++。我仍然想知道是否有办法让它指向我原来的 notepad++ 安装,我曾尝试转义或编码空间但没有成功。

标签: node.jswindowsnpm

解决方案


不幸的是,无论你如何逃避它们,npm 都会在所有空间上分裂。 源代码 NPM 模块编辑器 - 第 12 行:

var args = editor.split(/\s+/);

因此,您必须设置一个没有任何空格的编辑器文件路径。

示例的假设

  • 示例中使用了VS Code 。与您喜欢的编辑器交换 VS 代码文件路径。
  • 如果您喜欢在每个 npm 命令中使用全局配置文件,则会更新NPM 用户配置文件。-g

示例 1 - 将编辑器目录添加到路径

这只会临时设置 PATH。要在 Windows 10 上永久设置Start - Edit environment variables for your account并添加路径。

编辑:“C:\Program Files\Microsoft VS Code\bin”是 VS Code 将设置的路径将安装。

> set PATH=%PATH%;"C:\Program Files\Microsoft VS Code\bin"

> npm config set editor code.cmd

> npm config edit

示例 2 - 使用 DOS 短名称

获取文件的 DOS 短名称并将其用作npm config set editor. 短名称因系统而异。如果卸载并重新安装 VS Code,则路径可能会更改。

  • for %I in () do ... 处理每个文件<filelist>
  • echo %~sI 以短格式打印文件名
> for %I in ("C:\Program Files\Microsoft VS Code\Code.exe") do echo %~sI
C:\PROGRA~1\MICROS~3\Code.exe

> npm config set editor C:\PROGRA~1\MICROS~3\Code.exe

推荐阅读