Windows命令行执行npm init -y报错:含空格文件夹名问题
解决npm init -y在含空格文件夹中报错的问题
你遇到的报错根本原因不是路径空格,而是npm默认会把当前文件夹名称作为package.json里的name字段值,但npm的包命名规则不允许空格,也不建议使用大写字母。错误信息里的Invalid name: "JavaScript ES6"已经明确指出了这一点。
下面是几个可行的解决方案:
手动指定合法包名(不用-y快捷参数)
执行不带-y的初始化命令:npm init当终端提示
package name: (JavaScript ES6)时,输入符合规则的名称(比如javascript-es6或javascript_es6),后续的选项可以直接按回车使用默认值,最后输入yes确认即可生成合法的package.json。用参数直接指定包名(保留-y快捷方式)
如果想继续使用-y一键生成,可以通过--name参数手动指定合法的包名,命令如下:npm init -y --name=javascript-es6执行后会直接生成
package.json,其中name字段就是你指定的合法名称,其他字段使用默认值。修改文件夹名称(如果允许的话)
把当前文件夹重命名为符合npm命名规则的名称,比如javascript-es6(去掉空格、改为小写),之后再执行npm init -y就不会再触发这个报错了。
补充说明:npm包命名的核心规则是必须为小写,仅允许包含字母、数字、连字符(-)和下划线(_),不能包含空格或其他特殊字符,长度建议在1到214个字符之间。
内容的提问来源于stack exchange,提问作者user3020047
相关产品推荐
相关产品推荐

