前段时间开发过一个npm包,发布在npm上。过了一段时间后修改了部分内容,需要再次发布。在执行npm publish时报错了。大概如下:

npm ERR! path C:\Users\Admin\AppData\Local\Temp\npm-12284-cd09bc74\tmp\fromDir-8703ef80\package.tgz
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'C:\Users\Admin\AppData\Local\Temp\npm-12284-cd09bc74\tmp\fromDir-8703ef80\package.tgz'
npm ERR!  { Error: EPERM: operation not permitted, unlink 'C:\Users\Admin\AppData\Local\Temp\npm-12284-cd09bc74\tmp\fromDir-8703ef80\package.tgz'
npm ERR!   cause:
npm ERR!    { Error: EPERM: operation not permitted, unlink 'C:\Users\Admin\AppData\Local\Temp\npm-12284-cd09bc74\tmp\fromDir-8703ef80\package.tgz'
npm ERR!      errno: -4048,
npm ERR!      code: 'EPERM',
npm ERR!      syscall: 'unlink',
npm ERR!      path: 'C:\\Users\\Admin\\AppData\\Local\\Temp\\npm-12284-cd09bc74\\tmp\\fromDir-8703ef80\\package.tgz' },
npm ERR!   isOperational: true,
npm ERR!   stack: 'Error: EPERM: operation not permitted, unlink \'C:\\Users\\Admin\\AppData\\Local\\Temp\\npm-12284-cd09bc74\\tmp\\fromDir-8703ef80\\package.tgz\'',

报错内容说不允许操作,查了查发现原因是没有登录。那就登录呗。

使用npm login登录时,输入Username/Password/Email后,又提示错误了:

npm ERR! code E409
npm ERR! Registry returned 409 for PUT on http://registry.npm.taobao.org/-/user/org.couchdb.user:feigebaobei: [conflict] User feigebaobei already exists

去网上搜了一下,原因是使用淘宝镜像出错了。需要使用http://registry.npm.org

npm config set registry http://registry.npm.org

我随便查了一下 npm config 的参数。列出来互相学习吧。

npm config [set | get | delete | list | edit]


飞机
124 声望3 粉丝