我有一个项目,我发表在一个私人的npm存储库。在node v14.16.0 (npm v6.14.11)下,命令npm publish运行良好,我的包发布在我的私有存储库上。
我将npm升级到7,以支持对等依赖安装。现在,在node v15.12.0 (npm v7.6.3)下,命令npm publish将失败
"path“参数必须是字符串类型。接收未定义
有什么想法吗?
更新
国家预防机制7.6.3,节点14的效果相同:
"path“参数必须为字符串类型。
更新2
带有标志--verbose的控制台输出
npm动词cli ‘. npm /version/node/v15.12.0/bin/node’,npm动词cli ‘. npm /version/node/v15.12.0/bin/npm’,npm动词cli‘发布’,npm动词cli‘-使用npm@7.6.3 npm信息使用节点@v15.12.0 npm定时配置:load: 3ms npm定时配置中完成的默认值npm定时配置:load:内置2ms npm定时配置:load: cli完成2ms npm定时配置:load:env Completed in 0ms npm时间配置:load:load:MyProject/..npmrc在4ms中完成npm时间配置:load:在5ms内完成的项目npm定时配置:在4ms npm定时配置中完成的项目config:load:file:.npmrc :在1ms npm定时配置中完成的用户完成npm定时配置:load:全局完成在1ms npm定时配置:load:cafile Completed in 0ms npm时间配置:load:验证完成在0ms中npm定时配置:load:setUserAgent在1ms npm时间配置中完成:load:setEnvsin0MS npm时间配置:在npm动词中完成负载npm -会话83e5e6d9b1b9659 npm定时npm:负载完成在82 in动词发布'.‘npm定时命令:在25 of中发布完成的npm动词堆栈TypeError ERR_INVALID_ARG_TYPE:"path“参数必须是字符串类型。在新NodeError接收未定义的npm谓词堆栈(节点:内部/错误:329:5) npm动词堆栈在validateString (节点:内部/验证器:129:11) 在连接(节点:路径:1081:7) npm动词堆栈在扁平(.nvm/versions/node/v15.12.0/lib/node_modules/npm/lib/utils/flat-options.js:50:10) npm动词堆栈在Publish.publishConfigToOpts (.nvm/versions/node/v15.12.0/lib/node_modules/npm/lib/publish.js:140:12) npm动词堆栈在Publish.publish (..nvm/version/node/v15.12.0/lib/node_modules/npm/lib/publish.js:58:32)
发布于 2021-03-19 08:10:28
我发现了这里的问题
解决方法是将cache属性添加到package.json的publishConfig部分
"publishConfig": {
"cache": "cache/.npm",
"registry": "https://mydomain/myrepo"
}更新
这一问题已在国家预防机制7.7.0中得到解决。
https://stackoverflow.com/questions/66694947
复制相似问题