【问题标题】:npm publish causes 'Error: EPERM: operation not permitted, unlink ...', errno -4048npm publish 导致'错误:EPERM:不允许操作,取消链接...',errno -4048
【发布时间】:2018-02-15 19:39:31
【问题描述】:

我正在尝试发布我的 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

操作系统:Windows 10

有什么线索吗?

【问题讨论】:

  • 我只想补充一点,如果您使用 Gradle 脚本而不在您的 .gitignore 文件中排除“.gradle”,这个问题也可能出现在 Windows 上。 .或在运行 npm pack/publish 命令时尝试添加任何类型的锁定文件。我只是追了我的尾巴 12 个小时试图弄清楚那个。请参阅此处了解更多信息:nigglingaspirations.blogspot.com/2020/09/…

标签: node.js npm npm-publish npmjs


【解决方案1】:

我傻了。答案在文档all along

为了发布,您需要从 NPM cli 登录。

如果您在npmjs.com 上已有用户,请使用npm login,或者使用npm adduser 创建用户。

不过,我希望能提供更多信息丰富的错误消息。

【讨论】:

  • 天哪!它对我有用。我在我的主计算机上登录了很长时间......但是出现了这个错误,因为我已经更改了密码,所以......谢谢!再次登录成功!
  • 多么可怕的错误信息!我们设法通过在 .npmrc 文件中包含私有 npm 存储库详细信息来完成这项工作
  • 我在文档中没有发现这一点,尽管首先要做的事情很明显。
  • 是的,npm login 解决了这个问题。误导性消息信息!
  • 肯定需要更好的错误信息!我只是在一台新电脑上有点挣扎:)
【解决方案2】:

我在 Windows 上遇到了同样的问题。

问题的根源很简单,就是文件夹和文件的访问权限。 Click here

【讨论】:

    【解决方案3】:

    这是我的经验。

    我在 Atom 上工作,并在 Atom 上拖放文件,导致错误。 所以我在 Win10 上退出 atom 并再次运行 npm i。成功了。

    请关闭可能限制项目文件的编辑器或资源管理器,然后重试。

    【讨论】:

      【解决方案4】:

      我通过重新安装 Windows 驱动器更改为新的文件系统。之后就没有问题了。参考以下link

      【讨论】:

        【解决方案5】:

        在某些情况下,只需指向正确的package.json 文件即可。之前省略了参数,导致错误。

        之前:npm publish

        之后:npm publish C:\Code\my-proj\dist\@acme\my-package

        【讨论】:

          【解决方案6】:

          还在苦苦挣扎的人,如果你有类似的东西,请检查你的 package.json 文件 publishConfig 已初始化。
          删除这是为我解决的问题

          【讨论】:

            【解决方案7】:

            在我的情况下,问题是参数不正确npm publish --opt=123456(typo opt => otp ...一次性密码 - 2factor)。如果参数错误,这个误导性权限错误The operation was rejected by your operating system. 太可怕了。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2019-11-04
              • 2023-03-07
              • 2020-03-05
              • 2022-12-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多