Meteor 错误:EACCES:权限被拒绝,rmdir 'build'

Posted

技术标签:

【中文标题】Meteor 错误:EACCES:权限被拒绝,rmdir \'build\'【英文标题】:Meteor Error: EACCES: permission denied, rmdir 'build'Meteor 错误:EACCES:权限被拒绝,rmdir 'build' 【发布时间】:2016-11-30 08:27:10 【问题描述】:

当我尝试将我的流星项目从 Meteor 1.3.5.1 更新到 METEOR 1.4 时出现此错误。我不知道为什么我有这个错误。我已经尝试对 .meteor 和 .np floder 进行 chown。

 => Errors while initializing project:         

    While loading package npm-bcrypt@0.8.7:
    error: Command failed:
    /home/noob/.meteor/packages/meteor-tool/.1.4.0.hylsrj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/npm
    rebuild --no-bin-links --update-binary
    gyp ERR! clean error 
    gyp ERR! stack Error: EACCES: permission denied, rmdir 'build'
    gyp ERR! stack     at Error (native)
    gyp ERR! System Linux 3.16.0-38-generic
    gyp ERR! command
    "/home/noob/.meteor/packages/meteor-tool/.1.4.0.hylsrj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node"
    "/home/noob/.meteor/packages/meteor-tool/.1.4.0.hylsrj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"
    "rebuild"
    gyp ERR! cwd
    /home/noob/.meteor/packages/npm-bcrypt/.0.8.7.1np1i1l++os.linux.x86_64+web.browser+web.cordova/npm/node_modules/.temp-140iag7/node_modules/bcrypt
    gyp ERR! node -v v4.4.7
    gyp ERR! node-gyp -v v3.4.0
    gyp ERR! not ok 

    npm ERR! Linux 3.16.0-38-generic
    npm ERR! argv
    "/home/noob/.meteor/packages/meteor-tool/.1.4.0.hylsrj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node"
    "/home/noob/.meteor/packages/meteor-tool/.1.4.0.hylsrj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/npm"
    "rebuild" "--no-bin-links" "--update-binary"
    npm ERR! node v4.4.7
    npm ERR! npm  v3.10.5
    npm ERR! code ELIFECYCLE
    npm ERR! bcrypt@0.8.7 install: `node-gyp rebuild`
    npm ERR! Exit status 1
    npm ERR! 
    .....

【问题讨论】:

哈哈!喜欢用户名noob!无论如何,它无法删除目录build,我猜它位于您项目的.meteor 文件夹下。发生这种情况的原因有很多,例如在 Windows 和某些操作系统上,它无法删除您实际所在的文件夹。看起来您在 *nix 上,所以情况可能并非如此。但是我今天看到有几个人在 Linux 上发布了关于 bcrypt 问题的帖子,所以我猜测存在一些影响 Meteor 1.4 构建的错误/问题。你可以尝试 nuking .meteor/packages 中的所有内容,看看它是否修复。 啊哈是的,我同意,noob 是一个很好的用户名:p 【参考方案1】:

这是一个权限错误 我做了一个sudo chown -R $USERNAME /home/noob,现在一切正常

【讨论】:

太棒了。我认为这是文件系统的问题。【参考方案2】:

看起来更像是一个 Node-gyp 问题。

摘自Meteor docs:

如果您的应用程序中有二进制 npm 包 node_modules 目录,你应该在 你的应用程序目录来重新编译这些包。

如果仍然不起作用,请尝试删除您的 ~/.node-gyp 文件,然后删除 npm update

【讨论】:

【参考方案3】:

不得不删除 bcrypt 目录

rm -r $HOME/.meteor/packages/npm-bcrypt/.0.7.8_2.f294j7++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/bcrypt

【讨论】:

以上是关于Meteor 错误:EACCES:权限被拒绝,rmdir 'build'的主要内容,如果未能解决你的问题,请参考以下文章

错误:EACCES:权限被拒绝,mkdir '/.npm'

错误:EACCES:权限被拒绝,取消链接 '/usr/local/bin/npm

电子制造商:EACCES:权限被拒绝

sh 未处理的拒绝错误:EACCES:权限被拒绝

错误:EACCES:权限被永远拒绝

NPM/Cordova 权限错误:EACCES:权限被拒绝,scandir