Node 模块有 755 个权限,我应该设置什么权限以便 npm 不需要 sudo?

Node 模块有 755 个权限,我应该设置什么权限以便 npm 不需要 sudo?

npm我正在使用一个自动运行的框架webpack,目录/usr/lib/node_modules具有 755 个权限,需要通过才能运行npmsudo我使用的框架不允许添加sudo到命令中。

现在我需要以全局形式(例如npm install webpack -g)安装 npm 包,而不使用sudo

哪些权限可以/usr/lib/node_modules?如果我设置 777 个权限,这样可以吗?安全吗?

谢谢你!

答案1

你不需要改变允许无需npm即可使用sudo。要设置npm运行,请sudo按照以下步骤操作:

选项1:

  1. 获取 npm 目录的路径:

    npm config get prefix
    
  2. 如果你有/usr 转到选项 2否则将 npm 目录的所有者更改为您的:

     sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
    

选项 2:

  1. 创建全局安装的目录:

    mkdir ~/.npm-global
    
  2. 配置使用该目录:

    npm config set prefix '~/.npm-global'
    
  3. 打开或创建~/.profile并添加:

    export PATH=~/.npm-global/bin:$PATH
    
  4. 将其也添加到您的~/.bashrc文件中(可选):

    export PATH=/home/username/.npm-global/bin:$PATH
    export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript:/home/username/.npm-global/lib/node_modules
    
  5. 刷新文件:

    source ~/.bashrc
    
  6. 运行测试:

    npm install -g jshint
    

来源:

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

http://www.competa.com/blog/how-to-run-npm-without-sudo/

相关内容