没有管理员权限,如何解决npm install命令安装依赖问题

没有管理员权限,如何解决npm install命令安装依赖问题

情景(situation):
我们大部分人在做开发的工作时,使用的是公司的电脑。而众所周知,公司为了安全考虑,都会在我们的电脑上安装各种各样的安全软件;限制我们的网络,禁用我们的电脑本机管理员权限,使得我们在拿到电脑的时候,安装软件什么的都非常的不方便。今天我遇到的问题,就是因为公司控制了我电脑的本机管理员权限导致的。

因为上周休假一周,所以不在公司,我们组的前端同事,优化了项目中使用的webpack。我休假回来之后,开始做自己的工作,写完后端代码准备,启动前端来调试我写的后端程序,别问为什么一定要使用前端,因为直接在页面调试我的后端程序效率会快一些,这次的工作是改造之前同事留下的复杂代码,所以代码的熟悉程度和单元测试都不够熟悉,页面点击最直观。当我启动前端时,发现启动不了,询问前端同事后,说是升级了依赖和做了优化。

按照步骤对webpack进行升级之后,需要重装前端的依赖,于是我删除了node_nodules目录,准备用npm install 重新安装依赖。当我执行这个命令时,出现了如下错误:

 npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/webpack/node_modules/mkdirp
 npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/webpack/node_modules/node-libs-browser
 npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/webpack/node_modules/supports-color
 npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
 npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/webpack/node_modules/watchpack
 npm ERR! path /usr/local/lib/node_modules/webpack/node_modules/camelcase
 npm ERR! code ENOENT
 npm ERR! errno -2
 npm ERR! syscall access
 npm ERR! enoent ENOENT: no such file or directory, access '/usr/local/lib/node_modules/webpack/node_modules/camelcase'
 npm ERR! enoent This is related to npm not being able to find a file.
 npm ERR! enoent
 
 npm ERR! A complete log of this run can be found in:
 npm ERR!     /Users/xxx/.npm/_logs/2019-07-24T02_33_46_372Z-debug.log

这个错误一眼我们就看到了,是的,没有权限

任务(task):
因为结果很显然,就是没有权限,我们的任务也就是,让这个命令有权限。所以处理方式很粗暴,sudo命令一加【sudo npm install】。然后结果就是不行。**不好意思,我没有管理员密码**。

是的,我们之前提到了,公司出于安全考虑,不给我们本机管理员权限。那么获取一个管理员权限麻不麻烦呢?大概就是发起一个本机管理员权限申请工单,然后一层一层领导审批,最后客服给你添加,等到这个流程走完,黄花菜都凉了。

既然sudo走不通,那么我们就开辟其他路径。

我们从提示中看到,我们想要下载的依赖没办法放到那个目录下,因为那么目录是管理员的目录,当前用户的目录是在【~】。调整思路。既然管理员不让写,我自己的地盘总能写了吧,写的问题搞定了,那么我怎么让你从我的地盘读依赖呢。那么怎么把下载和调用的目录设置到我们想要的目录下就成了答案。

行动(action):
第一步:设置目的地
【mkdir ~/.npm】

第二步:更改node安装连接
【npm config set prefix '~/.npm'】

第三步:在当前用户profile下增加path,没有则创建一个.profile
【touch .profile】
【vi .profile】 
 输入内容[export PATH=~/.npm/bin:$PATH]

第四步,使.profile生效
【source ~/.profile】
结果(result):
通过上面的步骤,再执行npm install ,则能顺利的安装依赖。我的前端也顺利的跑了起来。
小结:
今天的这个踩坑过程,其实也比较容易找到答案,但是我还是把它写出来,是因为我从中学到了一个思想。 那就是山不转水转,你不转我转。这个问题从最开始的我写管理员目录没有权限,申请权限又太耗时。 转变成为另一个角度,既然不能写你的目录,那我就让你从我的目录上拿,把在哪里写入的问题变成了从哪里读取的问题。

哈哈,小小收获也能让我开心一整天,希望我有收获的时候,你也能有所收获。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值