npm 为了安全禁止使用root用户或者sudo来安装node-sass,切换到普通用户就可以了,或者添加 --unsafe-perm
参数。-g 全局
npm install --unsafe-perm -g node-sass
修改npm源
npm config set registry https://registry.npm.taobao.org
查看npm源
npm config list
安装依赖
cd 项目 npm install
启动服务
pm2 start npm --name yutu -- start
**npm安装**
1.当package-lock.json中依赖版本号比package.json依赖版本号高或等于时,会安装package-lock.json中的版本
2.当package-lock.json中依赖版本号比package.json依赖版本号低时,会安装package.json中所要求的版本,并且更新package-lock.json的版本号和package.json一致。
**cnpm安装**
1.当package-lock.json中依赖的版本号比package.json依赖的版本号高或等于时,会安装package.json中符合要求的版本号,但是不会更新package-lock.json文件版本号
2.当package-lock.json中依赖的版本号比package.json依赖的版本号低时,会安装package.json中符合要求的版本号。
如果package-lock.json存在,则两者安装后结果可能不一样。因为cnpm install安装时,是不会去从package-lock.json中读取依赖包的版本信息的。
npm 5版本,在延续npm 3扁平化依赖包安装方式的基础上,新增了一个package-lock.json文件。package-lock.json的主要作用就是锁定依赖项的安装目录和依赖包的版本信息。
关于package.json和package-lock.json中的区别,可查看文章nodejs中package.json和package-lock.json文件的功能分析
当我们执行npm install的时候,node会从package.json文件读取模块名称,从package-lock.json文件中获取版本号。而cnpm install是不会去pack-lock.json中获取任何信息的,它只会根据各依赖包的配置下载对应版本的包。
cnpm不支持,且不打算支持lock: