npm批改包安装全局模式路径(安装到统一的目录)
npm修改包安装全局模式路径(安装到统一的目录)
一 .背景:
今天打开命令行,使用 cnpm
安装 express
库
C:\Windows\System32>cnpm install express
Error: EPERM: operation not permitted, mkdir 'C:\Windows\System32\node_modules'
Error: EPERM: operation not permitted, mkdir 'C:\Windows\System32\node_modules'
at Error (native)
提示没有权限创建目录
一想, 可能是c盘,没有权限创建目录
那就切换到D盘试试嘛
C:\Windows\System32>cd /d d:
D:>cnpm install express
[express@*] installed at node_modules.npminstall\express\4.14.0\express (42 pac kages, use 17s, speed 34.49kB/s, json 306.77kB, tarball 264.74kB)
All packages installed (42 packages installed from npm registry, use 17s, speed 34.27kB/s, json 56(306.77kB), tarball 264.74kB)
成功了~~
那么我就想, npm
有没有一个设置类似于 maven localRepository
的地方
搜索了一下,还真有 http://www.blogjava.net/greatyuqing/archive/2013/07/06/401271.html
像我的话,node_home
在 C:\Program Files\nodejs
那么就修改 C:\Program Files\nodejs\node_modules\npm\npmrc
修改成
prefix=D:\FeiLong Soft\Essential\Development\node_modules
重新打开命令行,执行
C:\Windows\System32>cnpm install express
Error: EPERM: operation not permitted, mkdir 'C:\Windows\System32\node_modules'
Error: EPERM: operation not permitted, mkdir 'C:\Windows\System32\node_modules'
at Error (native)
纳尼!!!??? 还是不行 !!
二 .解决方案:
其实 npm
安装分为 全局安装
和 本地安装
,参见 http://www.runoob.com/nodejs/nodejs-npm.html
全局安装与本地安装
npm 的包安装分为本地安装(local
)、全局安装(global
)两种,从敲的命令行来看,差别只是有没有 -g
而已,比如
npm install express # 本地安装
npm install express -g # 全局安装
区别:
本地安装
- 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
- 可以通过 require() 来引入本地安装的包。
全局安装
- 将安装包放在 /usr/local 下或者你 node 的安装目录。
- 可以直接在命令行里使用。
好嘛,我的目的是安装到一个统一的目录,那么执行 cnpm install express -g
C:\Windows\System32>cnpm install express -g
[express@*] installed at node_modules\.express_npminstall\express\4.14.0\express (42 packages, use 1s, speed 200.77kB/s, json 266.21kB, tarball 0B)
All packages installed (42 packages installed from npm registry, use 1s, speed 1 92.91kB/s, json 48(266.21kB), tarball 0B)
安装成功,目的达成
三.参考:
- http://www.blogjava.net/greatyuqing/archive/2013/07/06/401271.html
- http://www.runoob.com/nodejs/nodejs-npm.html
---完