我不能用 npm 更新电子

Posted

技术标签:

【中文标题】我不能用 npm 更新电子【英文标题】:I can't update electron with npm 【发布时间】:2015-11-25 11:29:52 【问题描述】:

我无法更新电子预建。 我多次执行sudo npm update electron-prebuilt -g

但是,尽管使用sudo,但每次都会出现 Permission denied 错误。

为什么我不能成功更新电子?

iojs3.2.0,OS X 10.10.5

以下是错误日志。

/usr/local/lib/node_modules/electron-prebuilt/install.js:15
  throw err
  ^

Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/electron-prebuilt/electron-tmp-download-818-1441021602097/electron-v0.31.1-darwin-x64.zip' -> '/Users/user_name/.electron/electron-v0.31.1-darwin-x64.zip'
at Error (native)
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/iojs" "/usr/local/bin/npm" "install" "electron-prebuilt" "-g"
npm ERR! node v3.2.0
npm ERR! npm  v2.14.1
npm ERR! code ELIFECYCLE

npm ERR! electron-prebuilt@0.31.1 postinstall: `node install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the electron-prebuilt@0.31.1 postinstall script 'node install.js'.
npm ERR! This is most likely a problem with the electron-prebuilt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node install.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls electron-prebuilt
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /usr/local/lib/node_modules/npm-debug.log

【问题讨论】:

electron-prebuilt 是一个二进制包。您是否尝试过删除软件包然后重新安装而不是更新? 我相信这是 io.js 版本的问题。试试降级到iojs-v2.5.0看看是不是还是不行。 【参考方案1】:

在https://github.com/mafintosh/electron-prebuilt/issues/48 报告了该问题,解决方法似乎是首先安装不带-g 标志,这将首先将文件放入用户文件夹,然后使用-g 再次安装。

编辑:我想不知何故权限被搞砸了,我正在做chmod。看来,如果我 chmod 不仅适用于用户本人,而且适用于 groupothers,它就可以工作。也许其他人也可以尝试一下?

【讨论】:

【参考方案2】:

我在 OS X 中遇到了同样的问题。我修复了它删除 ~/.electron 文件夹

【讨论】:

我也遇到了同样的问题,也为 Ubuntu 14.04 工作过。

以上是关于我不能用 npm 更新电子的主要内容,如果未能解决你的问题,请参考以下文章

NPM - 关于“电子邮件:(这是公开的)”的问题

在电子的渲染器进程中使用 npm 模块

如何使 npm 包作为电子应用程序的命令可用

使用电子生成器时“npm run dist”的问题

无法通过带有 X11 转发的“npm start”运行电子

有没有一种安全的方法来编译电子应用程序(没有 npm 安全问题)?