【问题标题】:It's possible to have a path with spaces in .npmrc on Windows?在 Windows 上的 .npmrc 中可以有一个带空格的路径吗?
【发布时间】:2019-04-27 08:04:04
【问题描述】:

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

【问题讨论】:

  • 你如何设置你的编辑器,即你使用什么命令?也许您可以编辑您的问题,向我们展示您尝试过的命令。您是否尝试过使用以下命令设置编辑器:npm set editor "<path>" -g - 其中<path> 部分是您要使用的 notepad++ 的实际路径,并且路径本身用双引号引起来 "..." ?

标签: node.js windows npm


【解决方案1】:

不幸的是,无论你如何逃避它们,npm 都会在所有空间上分裂。 Source Code NPM Module Editor - Line 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,则路径可能会更改。

  • 对于 () 中的 %I 执行 ... 处理<filelist> 中的每个文件
  • 回声 %~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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 2017-10-18
    相关资源
    最近更新 更多