npm 包覆盖安装会不会有问题?
发布于 10 年前 作者 season19840122 9066 次浏览 最后一次编辑是 8 年前 来自 问答

玩 Node.js 的同学都知道 Yeoman ,Yeoman 很多 generator 都会包含同样的插件,比如说:grunt-cli, bower,要想安装 generator 需要先安装 这些 dependencies ,而且每个 generator 依赖的版本都不一样,这样覆盖安装会不会有问题?还是需要先 npm rm -g 一个包,再重新 npm install -g 一下? 还有一个问题直接手动在 node_modules 里删除一个包和用 npm rm -g 一个包有区别吗?

12 回复

说实话,我接触node两年了,我没有听过Yeoman 其实不需要在node_modules里删除一个package 因为他读package的依赖,都是依据package.json 最后:放心大胆的用,遇到问题就去解决问题。况且你现在只是猜想。

@struCoder 谢谢你的回答,Yeoman 在前端界还是很火的,我是一名前端开发。不需要删除包?那重复安装了怎么办?仁兄,直接手动在 node_modules 里删除一个包和用 npm rm -g 一个包有区别吗?

@season19840122 我一般很少动手删除package 如果想删除,我的做法就是,早根目录下的node_modules中删除要删除的package 之后在根目录下的package.json中移除所删除的包名。

你可以问问其他人。:)

grunt-cli 是需要clone的

@i5ting 不太明白?

http://i5ting.github.io/How-to-write-jQuery-plugin/build/jquery.plugin.html#106

前置条件需要有nodejs和npm,请确保已安装成功:

npm install -g grunt
npm install -g grunt-init
git clone https://github.com/gruntjs/grunt-init-jquery.git ~/.grunt-init/jquery 
grunt-init jquery 

@i5ting Yeoman 就是基于 node 的,自然已经安装成功了,谢谢!

覆盖安装就好了,会自动替换的。 反正 yeoman 只是开发阶段用,也不会出什么大问题

@alsotang 恩,知道了,谢谢!

npm list -g --depth 0 这种习惯还是要有的,我一般都是 uninstall 再 install,好像有点处女座的病

至于 yeoman 接触 node 两年了没听过不应该,它再团队工程化中的:项目初始化中是必备,当然有人会觉得我自己写一个cp工具也可以 但是如果询问式安装多个类型的项目的时候就麻烦了

@yaochun 看了 NPM 的 API ,npm rm 实际上就是 npm uninstall ,自己也试了下,这样卸载比较干净,可以卸载掉 .bin 目录下的包的 cmd 命令,还有就是卸载包,推荐使用 npm rm 和 npm uninstall。

回到顶部