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

10

当我试图将我的Meteor项目从Meteor 1.3.5.1更新到METEOR 1.4时,出现了这个错误。我不知道为什么会出现这个错误。我已经尝试对.meteor和.np文件夹进行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构建存在一些错误/问题。你可以尝试清空“.meteor/packages”中的所有内容并查看是否修复了问题。 - CodeChimp
啊哈,是的我同意,Noob 是一个好的用户名 :p - user3415686
3个回答

15

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


太棒了。我想这是文件系统的问题。 - CodeChimp

1

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

Meteor 文档 中提取:

如果你的应用程序 node_modules 目录中有二进制 npm 包,你应该在应用程序目录中运行 meteor npm rebuild(在 meteor update 后)重新编译这些包。

如果仍然无法正常工作,请尝试删除您的 ~/.node-gyp 文件,然后执行 npm update


0

必须删除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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接