node.js - 在 Windows 上的 .npmrc 中可以有一个带空格的路径吗?
问题描述
我调用 npm config edit 时出错,就像找不到 notepad++ exe 一样。我得出的结论是 .npmrc 中指定的路径不能包含空格,并解决将其指向未安装在“程序文件”下的便携式版本的记事本++。我仍然想知道是否有办法让它指向我原来的 notepad++ 安装,我曾尝试转义或编码空间但没有成功。
解决方案
不幸的是,无论你如何逃避它们,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
推荐阅读
- asp.net-core - Use Mailkit to validate input string is an email
- java - Spinner's shadow is cut off by invisible line rectangle
- android - How do I seperate incoming messages from outgoing messages in FireBaseRecycler
- delphi - How to get specific strings from multiple memos
- c - 从命令行读取最后 10 行的程序中的分段错误
- html - 如何在一个高度 [CSS/HTML] 上添加单独的文本和单独的图像?
- python - 评估 Pandas Dataframe 中相同列值的行/索引范围
- ruby-on-rails - 如何在heroku(rails app)上为RedisCloud插件设置maxmemory?
- angular - Angular ngFor 和 ngClass
- javascript - 获取 div 停止随浏览器大小缩小的宽度