首页 > 其他分享 >npm学习(二)之如何防止权限错误

npm学习(二)之如何防止权限错误

时间:2023-11-28 12:46:16浏览次数:33  
标签:npm 管理器 错误 global 权限 目录

 

如何防止权限错误

如果您在尝试全局安装包时看到EACCES错误,请阅读本章。如果更改安装npm的目录,通常可以避免此错误。要做到这一点,要么使用版本管理器重新安装npm(推荐)或手动更改npm的默认目录。

选项一:使用节点版本管理器重新安装

这是避免权限问题的最佳方法,在安装节点版本管理器之前,不需要删除当前版本的npm或node .js。

选项二:更改npm的默认目录

本节不适用于Microsoft Windows。本章将在不久的将来更新到Windows地址。

为了最小化权限错误的机会,可以将npm配置为使用不同的目录。在本例中,它将是主文件夹上的一个隐藏目录。

1、开始前备份你的电脑。

2、制作一个全局安装目录: mkdir ~ / .npm-global

3、配置npm使用新的目录路径: npm config set prefix '~/.npm-global'

4、打开或创建~/.profile文件并添加这一行: export PATH=~/.npm-global/bin:$PATH

5、回到命令行,更新系统变量: source ~/.profile

   测试:不使用sudo全局下载包:npm install -g jshint

代替步骤2-4,你可以使用相应的ENV变量(例如,如果你不想修改~/.profile): NPM_CONFIG_PREFIX=~/.npm-global

提示:考虑npx

如果您使用的是npm 5.2或更高版本,请探索npx作为运行全局命令的另一种方法,特别是当您偶尔需要一个命令时。

标签:npm,管理器,错误,global,权限,目录
From: https://www.cnblogs.com/onesea/p/17861663.html

相关文章

  • npm学习(一)之安装、更新以及管理npm版本
      安装npm安装前须知:npm是在Node中编写的,因此需要安装Node.js才能使用npm。可以通过Node.js网站安装npm,或者安装节点版本管理器NVM。如果只是想开始探索npm,使用Node.js安装方法是最快的。如果您是一名高级开发人员,准备投入工作并使用版本,请使用node版本管理器。如果你不......
  • npm学习(十三)之npm命令
      npm:查看npm所有命令自己写包可能用到的命令:npmadduser:注册npmlogin:登录npmwhami:查看当前用户名npminit:初始化包的信息npmpublish:发布包/更新包npmpublish--access=public:发布公共作用域包npmunpublishxxx(包名) --force:强制删除包npm......
  • npm学习(十六)之package-lock.json和package.json的作用
      转自:https://www.cnblogs.com/cangqinglang/p/8336754.htmlpackage-lock.json的作用就是锁定安装依赖时包的版本,并且需要上传到git,以保证其他人npminstall时安装的依赖能够保持一致 根据官方文档,这个package-lock.json是在`npminstall`时候生成的一份文件,用以记录......
  • npm学习(十四)之npm5踩过的坑!
     1.版本问题导致环境问题npm5之前我们第一次npminstall时是根据package.json来安装相关依赖的,但是它里面的版本不固定,因此默认会根据最高的版本来安装相关依赖,但是在npm5是根据package-lock.json来安装相关依赖的,但前提是没有在命令行中新安装依赖或者更改package.json,否则......
  • npm学习(十五)之理解npm、nvm、nodejs之间的关系
      nvmnvm:nodeJs版本管理工具,管理nodejs版本和npm版本,使用nvm安装nodejs时会将npm一起安装下来nodejsnodeJs: 一种高效的JavaScript运行环境npmnpm:是随同nodeJs一起安装的包管理工具,npm管理对应nodeJs的第三方插件  常见的使用场景有以下几种:  .允许用户从......
  • npm学习(十一)之package-lock.json
      package-lock.json描述对于npm修改node_modules树或package.json的任何操作,都会自动生成package-lock.json,它描述生成的确切树,以便后续安装能够生成相同的树,而不管中间依赖项更新如何。此文件拟提交至来源资料库,并可作以下用途:描述依赖关系树的单一表示形式,以确保队......
  • npm学习(十)之如何使用创建、发布、使用作用域包
      前言要求npm版本2或更高作用域用于将相关包分组在一起,并为npm模块创建一个名称空间(类似于域)。这里有更详细的解释。如果一个包的名称以@开头,那么它就是一个有作用域的包。范围是@和斜杠之间的所有内容。@scope/project-name每个npm用户都有自己的范围。@userna......
  • npm学习(九)之README.md文件
      包括文档(readme.md)npm建议您包含一个readme文件来记录您的包。自述文件必须有文件名readme.md。文件扩展名.md表示该文件是一个标记(markdown)文件。当有人发现您的包时,该文件将出现在npm网站上。在开始之前,请查看一些包页面,了解可以添加到readme文件中的信息,并了解为......
  • npm学习(八)之更新发布包时如何使用语义化版本
      npm的语义化版本控制——Semanticversioning在新发布的代码中传达更改的程度非常重要,因为有时更新会破坏包需要的代码(称为依赖项)。语义化版本控制(semver)是一个旨在解决这个问题的标准。Semver出版商如果一个项目要与其他项目共享,那么它应该从1.0.0开始(尽管npm上......
  • npm学习(十七)之node_modules中的bin文件夹
      可执行文件在本地模式下,可执行文件指向的位置;./node_modules/.bin 以便可以通过npm运行的脚本使用它们。例如,当您运行测试,将在路径中 npmtest。npm为script字段中的脚本路径都加上了node_moudles/.bin前缀npm为script字段中的脚本路径都加上了node_moud......