# npm 常用命令详解
配置:
# taobao镜像源
npm config set registry https://registry.npm.taobao.org
# npnjs镜像源
npm config set registry http://registry.npmjs.org/
2
3
4
5
npm install [-g]
npm uninstall [-g]
npm bugs
npm bin [-g|--global]:列出 npm 安装可执行文件的文件夹
npm start [--
npm cache :
npm cache add <tarball file>
npm cache add <folder>
npm cache add <tarball url>
npm cache add <name>@<version>
npm cache clean [<path>]
npm cache verify
2
3
4
5
6
关于npm cache
NPM会把所有下载的包保存,放在用户文件夹下面,在我的windows10机器上是保存在C:\Users\zcche\AppData\Roaming\npm-cache下面关于package.lock.json
NPM install之后会计算每个包的sha1值,然后将包与他的sha1值关联保存在package.lock.json里面
下次NPM install的时候会根据package.lock.json里面保存的sha1值去文件夹C:\Users\zcche\AppData\Roaming\npm-cache里面寻找包文件,如果存在,就不用再次从网上下载安装报了NPM cache verify 目测这个命令是重新计算C:\Users\zcche\AppData\Roaming\npm-cache下的文件是否与sha1值匹配,如果不匹配可能删除?
NPM cache clean --force 这个命令从C:\Users\zcche\AppData\Roaming\npm-cache下删除所有缓存文件
坑:
NPM不同版本算出来的sha1貌似不完全一样,所以直接用别人的package.lock.json会报sha1不匹配的error
解决办法:
- 不使用别人的package.lock.json
- 如果用了,删掉package.lock.json(记得删除回收站里的),npm cache clear --force,npm install
引用:npm cache
npm link:
两个项目:npm-link-module,与npm-link-example
现在需要在npm-link-example中直接使用require("npm-link-module")引入
- 在npm-link-module目录下执行
npm link
, npm-link-module会被链接到npm prefix -g
对应目录下的node_modules中 - 在npm-link-example中执行
npm link npm-link-module
- 使用require("npm-link-module")
npm start:
执行以下命令
"test": "node index.js",
"start": "npm run test --flag=123 -- a,b c"
2
--flag=123:
配置npm_config_flag = 123,通过process.env.npm_config_flag可获取到
-- a,b c:
通过process.argv 获取为一个数组,如下:
第一个值为node.exe地址,第二个为当前文件地址,从第三个开始为传入的值
[
'C:\\Program Files\\nodejs\\node.exe',
'E:\\learnMaterials\\nice\\Test\\index.js',
'a,b',
'c'
]
2
3
4
5
6