首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误: EACCES:权限被拒绝,访问‘/usr/lib/node_node’

错误: EACCES:权限被拒绝,访问‘/usr/lib/node_node’
EN

Stack Overflow用户
提问于 2017-09-05 15:24:59
回答 7查看 123.8K关注 0票数 101

我正在尝试使用命令npm install -g typescript安装类型记录,它返回以下错误:

代码语言:javascript
复制
    npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, access '/usr/lib/node_modules'
    npm ERR!     at Error (native)
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'access',
    npm ERR!   path: '/usr/lib/node_modules' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.
    npm ERR! Linux 4.4.0-93-generic
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "typescript"
    npm ERR! node v6.11.2
    npm ERR! npm  v3.10.10
    npm ERR! path npm-debug.log.1024969454
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall open
    
    npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
    npm ERR!     at Error (native)
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'open',
    npm ERR!   path: 'npm-debug.log.1024969454' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     /npm-debug.log
    jramirez@jramirez:/$ ^C
    jramirez@jramirez:/$ npm install typescript
    npm WARN checkPermissions Missing write access to /
    /
    └── typescript@2.5.2 
    
    npm WARN enoent ENOENT: no such file or directory, open '/package.json'
    npm WARN !invalid#1 No description
    npm WARN !invalid#1 No repository field.
    npm WARN !invalid#1 No README data
    npm WARN !invalid#1 No license field.
    npm ERR! Linux 4.4.0-93-generic
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
    npm ERR! node v6.11.2
    npm ERR! npm  v3.10.10
    npm ERR! path /
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall access
    
    npm ERR! Error: EACCES: permission denied, access '/'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, access '/'
    npm ERR!     at Error (native) errno: -13, code: 'EACCES', syscall: 'access', path: '/' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.
    npm ERR! Linux 4.4.0-93-generic
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
    npm ERR! node v6.11.2
    npm ERR! npm  v3.10.10
    npm ERR! path npm-debug.log.2387664261
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall open
    
    npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
    npm ERR!     at Error (native)
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'open',
    npm ERR!   path: 'npm-debug.log.2387664261' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     /npm-debug.log

此外,我运行npm install typescript (没有-g),但它不起作用。是否有其他方法来安装打字本?我的操作系统是LinuxUbuntu16.04。我很少使用node,也不知道想解决这个问题。

我的问题是:究竟哪些目录需要该权限?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2018-03-06 01:56:08

不建议在npmjs中使用sudo,请按照npmjs官方文档中的步骤执行:)

为全局安装创建一个目录:

代码语言:javascript
复制
mkdir ~/.npm-global

配置npm以使用新目录路径:

代码语言:javascript
复制
npm config set prefix '~/.npm-global'

打开或创建一个~/..profile文件并添加以下行:

代码语言:javascript
复制
export PATH=~/.npm-global/bin:$PATH

回到命令行,更新系统变量:

代码语言:javascript
复制
source ~/.profile

测试:在不使用sudo的情况下全局下载包。

代码语言:javascript
复制
npm install -g typescript

来源:https://docs.npmjs.com/getting-started/fixing-npm-permissions

票数 334
EN

Stack Overflow用户

发布于 2017-09-05 15:40:07

在ubuntu中安装全局包时,在向usr/bin文件夹写入时需要特殊的写权限。这是出于安全原因。

因此,每次安装全局包时,请使用:

sudo npm install -g [package-name]

就你的具体情况而言:

sudo npm install -g typescript

当您在没有-g的情况下尝试它时,您所做的一切就是在本地安装您所在的任何文件夹中的包:

因此:npm install typescript将在您所在的文件夹中创建一个node_modules文件夹。

票数 18
EN

Stack Overflow用户

发布于 2019-12-17 19:32:59

不太确定这是否是解决这一问题的正确办法,但我希望这能帮助其他有类似情况的人,他们已经尝试了以下几点:

  • 应用关于国家预防机制网站的建议
  • 检查node_modules文件夹的正确权限,没有发现任何错误
  • 使用sudo npm install <package> (我也不推荐),无论是否使用-g,也没有预期的结果

该问题的解决方案指出,当我试图用axios安装npm包时,包含整个项目的目录是在Visual代码中打开的。所以我关闭了它,并再次尝试安装。令人惊讶的是,安装工作就像一种魅力。

为了复制相同的问题,我在WSL上使用了Ubuntu18.04LTS(也许这与Windows权限有关)

这也可能是这个问题的解决方案:模块反应

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46058546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档