npm publish causes 'Error: EPERM: operation not permitted, unlink ...', errno -4048
npm publish causes 'Error: EPERM: operation not permitted, unlink ...', errno -4048
我正在尝试发布我的 NPM 包:npm publish
。
我收到以下非常神秘的错误:
npm ERR! path c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz'
npm ERR! at Error (native)
npm ERR! { Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz'
npm ERR! at Error (native)
npm ERR! cause:
npm ERR! { Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz'
npm ERR! at Error (native)
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'unlink',
npm ERR! path: 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz' },
npm ERR! isOperational: true,
npm ERR! stack: 'Error: EPERM: operation not permitted, unlink \'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz\'\n at Error (native)',
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'unlink',
npm ERR! path: 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
以管理员身份尝试 运行 - 同样的错误。
NPM 版本:5.4.0
节点版本:6.11.1
OS: Windows 10
有线索吗?
傻我。答案在文档中 all along.
为了发布你需要从你的 NPM cli 登录。
因此,如果您在 npmjs.com 上已有用户,请执行 npm login
,或者 npm adduser
创建一个。
不过,我希望能收到信息更丰富的错误消息。
我在 Windows 上遇到了同样的问题。
问题的根源很简单,就是文件夹和文件的访问权限。
这是我的经验。
我在 Atom 上工作,在 Atom 上拖放文件,导致错误。
所以我在 Win10 上退出 atom 并再次 运行 npm i
。成功了。
请关闭您的编辑器或资源管理器,它们会限制您的项目文件,然后重试。
我通过重新安装 windows 驱动器更改为新的文件系统。之后就没有问题了。参考以下link.
在某些情况下,只需指向正确的 package.json
文件即可。之前省略了param,导致报错
之前:npm publish
之后:npm publish C:\Code\my-proj\dist\@acme\my-package
还在苦苦挣扎的人,如果你有类似的东西,请检查你的 package.json 文件
publishConfig 已初始化。
删除这个就是为我解决的问题
在我的案例中,问题是参数不正确 npm publish --opt=123456
(错字 opt => otp ... 一次性密码 - 2factor)。在参数错误的情况下,这个误导性的权限错误很糟糕 The operation was rejected by your operating system.
。
我正在尝试发布我的 NPM 包:npm publish
。
我收到以下非常神秘的错误:
npm ERR! path c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz'
npm ERR! at Error (native)
npm ERR! { Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz'
npm ERR! at Error (native)
npm ERR! cause:
npm ERR! { Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz'
npm ERR! at Error (native)
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'unlink',
npm ERR! path: 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz' },
npm ERR! isOperational: true,
npm ERR! stack: 'Error: EPERM: operation not permitted, unlink \'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz\'\n at Error (native)',
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'unlink',
npm ERR! path: 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
以管理员身份尝试 运行 - 同样的错误。
NPM 版本:5.4.0
节点版本:6.11.1
OS: Windows 10
有线索吗?
傻我。答案在文档中 all along.
为了发布你需要从你的 NPM cli 登录。
因此,如果您在 npmjs.com 上已有用户,请执行 npm login
,或者 npm adduser
创建一个。
不过,我希望能收到信息更丰富的错误消息。
我在 Windows 上遇到了同样的问题。
问题的根源很简单,就是文件夹和文件的访问权限。
这是我的经验。
我在 Atom 上工作,在 Atom 上拖放文件,导致错误。
所以我在 Win10 上退出 atom 并再次 运行 npm i
。成功了。
请关闭您的编辑器或资源管理器,它们会限制您的项目文件,然后重试。
我通过重新安装 windows 驱动器更改为新的文件系统。之后就没有问题了。参考以下link.
在某些情况下,只需指向正确的 package.json
文件即可。之前省略了param,导致报错
之前:npm publish
之后:npm publish C:\Code\my-proj\dist\@acme\my-package
还在苦苦挣扎的人,如果你有类似的东西,请检查你的 package.json 文件
publishConfig 已初始化。
删除这个就是为我解决的问题
在我的案例中,问题是参数不正确 npm publish --opt=123456
(错字 opt => otp ... 一次性密码 - 2factor)。在参数错误的情况下,这个误导性的权限错误很糟糕 The operation was rejected by your operating system.
。