npm 安装权限被拒绝 (macOS)

问题描述 投票:0回答:18

要安装 Bootstrap 主题,我想运行 npm install。但是我总是收到权限被拒绝的错误。

我已经尝试过

nvm
,然后用
nvm use 10.9.0
切换来运行
npm install

我也尝试了

sudo chown -R $(whoami) ~/.npm
sudo chown -R $USER /usr/local/lib/node_modules
。都没有解决它,现在我有点不知道如何继续。我使用 macOS High Sierra。

Marcs-MBP-3:masterclass Marc$ npm install
npm WARN deprecated [email protected]: Since gulp-sourcemaps now works, use gulp-uglify instead
npm WARN deprecated [email protected]: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! 
npm WARN deprecated [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN checkPermissions Missing write access to /Users/Marc/Desktop/Dev/masterclass/node_modules
npm ERR! path /Users/Marc/Desktop/Dev/masterclass/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/Users/Marc/Desktop/Dev/masterclass/node_modules'
npm ERR!  { [Error: EACCES: permission denied, access '/Users/Marc/Desktop/Dev/masterclass/node_modules']
npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, access \'/Users/Marc/Desktop/Dev/masterclass/node_modules\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/Users/Marc/Desktop/Dev/masterclass/node_modules' }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/Marc/.npm/_logs/2018-08-22T12_46_51_786Z-debug.log
node.js npm npm-install
18个回答
162
投票

对于Mac;

在终端上运行它>

sudo chown -R $USER /usr/local/lib/node_modules

33
投票

请运行以下命令:

  1. 查看包裹位置:

    npm config get prefix

  2. 然后运行这个:

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

  3. 输入密码并运行安装命令

它对我有用。


33
投票

我尝试了这个帖子中的所有内容,但在大苏尔上没有运气,但后来我尝试了这个:

sudo npm install -g yarn

而且成功了!


26
投票

使用

ls -l /Users/Marc/Desktop/Dev/masterclass/
检查项目根目录的权限。如果所有者不是
$USER
,请删除您的
node_modules
目录,尝试更改该目录的所有者,然后再次运行
npm install

cd /Users/Marc/Desktop/Dev
rm -rf ./masterclass/node_mdoules/
chown -R $USER ./masterclass/
cd masterclass    
npm install

7
投票

对我来说,

npm cache clean --force
rm -rf node_modules
npm install

我尝试手动删除但没有帮助


5
投票

对于运行 Big Sur 或 Monterey 的 Mac:

sudo chown -R $USER /usr/local/bin


2
投票

我为nodemon 做了这个,它工作了

sudo chown -R $USER /usr/local/lib/node_modules

然后安装您需要的软件包


1
投票

我遇到了类似的问题,但接受的答案对我不起作用,所以我将发布我的解决方案,以防其他人需要它。

我在从 GitHub 克隆的项目中运行

npm install
并在克隆过程中,无论出于何种原因,实际上并未在项目目录上设置写入权限。要检查这是否是您的问题,请打开终端并输入以下内容:

cd path/to/project/parent/directory
ls -l

如果目录具有用户写访问权限,则输出将在第一组权限中包含

w

drwxr-xr-x  15 user  staff  480 Sep 10 12:21 project-name

这假设您正在尝试访问当前用户的主目录结构中的项目。要确保当前用户拥有项目目录,请按照已接受答案中的说明进行操作。


1
投票

我输入了以下内容:

cd /Users/Marc/Desktop/Dev
rm -rf ./masterclass/node_mdoules/
chown -R $USER ./masterclass/
cd masterclass    
npm install

完成此操作后,结果会显示警告和一个通知,而不是之前的无许可和错误结果。

然后我输入了以下内容:

% sudo npm install --global firebase-tools

最后一次终端输入完成后,我的结果是成功。


1
投票

我有同样的问题,因为我从 pkg 安装它,我使用以下步骤解决了这个问题:

1. sudo rm -rf  /usr/local/lib/node_modules/npm/
2. brew doctor
3. brew cleanup --prune-prefix ( or sudo rm -f /usr/local/include/node)
4. brew install node

1
投票

我使用这个命令: sudo npm install -g @angular/cli 提供密码并为 mw 工作。花了 10 秒安装 Angular


1
投票

好吧,我的问题是我以为我安装在路径上:

/Users/mauro/Documents/dev/react

我的项目是在哪里设置的,但我是在:

Users/mauro/Documents/dev/

更高的一条路径,这就是为什么它在我的情况下没有执行安装。

我只是做了:

cd react
,瞧,我能够毫无问题地安装


0
投票

NPM_CONFIG_PREFIX=~/.npm-global

将此行复制到您的终端中,然后按 Enter 键。然后安装您需要的必要软件包,不要在 npm 前面添加“sudo”。

即,

npm install -g jshint

0
投票

唯一对我有用的东西

sudo npm i -g clasp --unsafe-perm


0
投票

就这么做:

sudo npm install -g @sanity/cli && sanity init

它会询问 sudo 密码,你就可以开始了


0
投票

那是因为你没有“节点模块”。您可以使用此代码安装:

npm install -g node-modules

然后,使用

npm init react-app my-app

创建你的 React 应用程序

0
投票

对我来说:

sudo chown -R 501:20 "/Users/giasin/.npm"

-1
投票

在 macOS 终端上运行:

sudo chown -R $USER /usr/local/bin

它会要求输入密码,然后你就可以开始了!

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.