为何package.json无法读取.npmrc中预定义的author配置值?
嘿,我明白你为啥遇到这个问题了——你搞错了npm配置项的命名规则!
问题根源
npm的init命令(也就是你用的npm init -y)并不会读取author这个配置项,它有一套专门的初始化模板配置字段,全部是以init-为前缀的。你之前不管是在.npmrc里写author = "Andrey Bushman",还是用npm config set author "Andrey Bushman",设置的都是npm其他场景用的配置,和初始化package.json的逻辑不挂钩,所以生成的文件里author字段才会是空的。
解决步骤
你只需要设置对应的初始化配置项就行,两种方式任选:
方式1:命令行直接配置
执行这条命令就能把作者名绑定到初始化模板里:
npm config set init-author-name "Andrey Bushman"
如果还想顺便设置邮箱、个人主页,也可以一起配置:
npm config set init-author-email "your-email@example.com" npm config set init-author-url "https://your-personal-site.com"
方式2:手动修改.npmrc文件
打开你已经创建的C:\Users\bushm\.npmrc,把原来的内容替换成:
init-author-name = "Andrey Bushman"
同样,需要的话可以补充其他字段:
init-author-email = "your-email@example.com" init-author-url = "https://your-personal-site.com"
先验证配置是否生效
执行这条命令确认配置成功:
npm config get init-author-name
如果返回"Andrey Bushman",就说明没问题了。
测试效果
现在回到新目录重新执行:
npm init -y
你会发现生成的package.json里的author字段已经自动填充成你设置的名字啦!
内容的提问来源于stack exchange,提问作者Andrey Bushman
相关产品推荐
相关产品推荐

