NodeJS 在Windows上的.npmrc中可以有一个带空格的路径吗?

lf5gs5x2  于 2023-02-21  发布在  Node.js
关注(0)|答案(1)|浏览(244)

我有一个错误调用npm配置编辑,它就像它无法找到记事本++ exe.我已经得出结论,在.npmrc中指定的路径不能包含空格,并解决了指向记事本的便携式版本,这是没有安装在“程序文件”.我仍然想知道是否有一种方法,使它指向我原来的记事本安装,我尝试过转义或编码空格,但没有成功。

p8ekf7hl

p8ekf7hl1#

不幸的是npm将分裂所有的空间,无论你如何逃脱他们。源代码NPM cli edit -第59行:(检索日期:2023年2月20日)

const [bin, ...spawnArgs] = this.npm.config.get('editor').split(/\s+/)

因此,您必须设置不带任何空格的编辑器文件路径。

示例的假设
*VS代码用于示例中。请用您喜欢的编辑器交换VS代码文件路径。
*NPM用户配置文件已更新,如果您喜欢全局配置文件,请在每个npm命令中使用-g
示例1 -将编辑器目录添加到路径

这将仅临时设置PATH。要在Windows 10上永久设置,请执行Start - Edit environment variables for your account并添加Path。

编辑:“C:\Program Files\Microsoft VS代码\bin”列出VS代码安装路径。

> 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代码,路径可能会更改。

  • 对于%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

相关问题