安装expo-cli遇EACCES权限错误,咨询是否已提前安装
解决npm全局安装expo-cli的EACCES权限错误及扫码后安装疑问
一、解决EACCES权限拒绝错误
出现这个错误是因为当前用户没有权限修改系统级的/usr/local/lib/node_modules目录,绝对不要用sudo运行全局安装命令,这会导致后续npm包的权限混乱,推荐两种安全方案:
方案1:自定义npm全局安装目录
- 在用户目录下创建专属的全局npm目录:
mkdir ~/.npm-global - 配置npm使用这个目录作为全局安装路径:
npm config set prefix '~/.npm-global' - 将该目录加入系统环境变量(根据你使用的shell编辑对应配置文件,比如bash是
~/.bashrc,zsh是~/.zshrc):echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc - 刷新配置使变更生效:
source ~/.zshrc
完成以上步骤后,重新运行
npm install -g expo-cli即可正常安装。- 在用户目录下创建专属的全局npm目录:
方案2:使用nvm管理Node.js版本
nvm会将Node.js和npm的所有文件都放在用户目录下,从根源避免系统权限问题。安装nvm后,重新安装对应版本的Node.js,之后再执行全局安装命令就不会出现权限报错。
二、扫码后的安装操作说明
你扫码后终端显示的安装流程,是Expo Go在加载项目时自动安装项目本地的依赖包,并非全局的expo-cli。全局expo-cli需要手动完成安装后,才能在终端直接调用expo命令。你手动运行npm install -g expo-cli仍报错,说明全局的expo-cli还未安装成功,按照上面的权限方案解决后重新安装即可。
内容的提问来源于stack exchange,提问作者BeardlessDev
相关产品推荐
相关产品推荐

