众所周知,任何npm模块都可以通过运行一个简单的命令安装:npm install <module_name>。
我已经安装了一些我不再使用的模块,我只是想把它们弄掉。我对此有几个问题:
我们是否有任何命令或过程来从根目录卸载一个模块(比如npm uninstall <module_name>) 或者仅仅删除模块文件就可以了? 如果我们保留未使用的模块会对我们有什么影响?
众所周知,任何npm模块都可以通过运行一个简单的命令安装:npm install <module_name>。
我已经安装了一些我不再使用的模块,我只是想把它们弄掉。我对此有几个问题:
我们是否有任何命令或过程来从根目录卸载一个模块(比如npm uninstall <module_name>) 或者仅仅删除模块文件就可以了? 如果我们保留未使用的模块会对我们有什么影响?
命令就是npm uninstall <name>
Node.js文档https://npmjs.org/doc/有所有你需要知道的npm命令。
本地安装将位于应用程序的node_modules/目录中。如果模块没有引用,这不会影响应用程序。
但是,如果您正在删除一个全局包,那么任何引用它的应用程序都会崩溃。
这里有不同的选择:
NPM卸载<name>从node_modules中删除模块,但不更新package.json
NPM卸载<name>——save也从package.json的依赖项中删除它
npm uninstall <name>——save-dev也从package.json中的devDependencies中删除它
NPM uninstall -g <name>——save也会全局删除它
我只是在我的home目录下默认安装stylus,所以我只是使用npm uninstall stylus来卸载它,或者你可以尝试npm rm <package_name> out。
如果它不能与npm uninstall <module_name>一起工作,请输入-g全局尝试它。
也许你只需要以超级用户/管理员的身份使用sudo npm uninstall <module_name>。
好吧,要完整地回答这个问题,有两个方法(例如,我们将已安装的模块称为module1):
在不改变package.json的情况下删除module1: NPM卸载模块1 使用更改包删除module1。并将其从package.json中的依赖项中移除: NPM卸载——保存模块1
注意:为了简化上面提到的命令,你可以用-S代替——save,可以用remove, rm, r, un, unlink代替uninstall
我发现这一点很艰难,即使它看起来很明显。
我最初尝试在脚本中使用一个简单的for循环运行npm uninstall module-name遍历node_modules目录。我发现它不会工作,如果你调用完整的路径,例如,
npm uninstall module-name
在工作,但是
npm uninstall /full/path/to/node_modules/module-name
没有工作。
卸载Node.js模块:
npm uninstall <module_name>
这将从node_modules文件夹中删除模块,但不会从package.json文件中删除模块。所以当我们再次执行npm install时,它会下载这个模块。
从文件包中删除模块。json,使用:
npm uninstall <module_name> --save
这也会从package.json文件中删除依赖项。
如果你想卸载任何你可以使用的全局模块:
npm -g uninstall <module_name> --save
这将全局删除依赖项。
# Log in as root (might be required depending on install)
su -
# List all global packages
npm ls -g --depth=0
# List all local (project) packages
npm ls -p --depth=0
# Remove all global packages
npm ls -g --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
# Remove all local packges
npm ls -p --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -p rm
# NOTE (optional): to use node with sudo you can add the bins to /usr/bin
# NOTE $PATHTONODEINSTALL is where node is installed (e.g. /usr/local/node)
sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node
sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm
对于Windows用户-如果你想一次性删除所有安装的Node.js模块:
打开PowerShell窗口 进入node_modules文件夹(cd node_modules) 执行命令- "npm uninstall (Get-ChildItem) "。名称”
它将卸载所有模块。
要批量删除node_modules文件夹中的包,也可以从文件package中删除它们。Json,保存它,然后在终端运行NPM prune。
这将删除那些存在于文件系统中,但在package.json文件中没有使用/声明的包。
附注:这在Windows上特别有用,因为您可能经常遇到由于“超过路径长度限制”而无法删除某些文件的问题。
如果你想卸载一些模块,那么只需要运行npm uninstall。
然后进入文件包。然后从那里删除不需要的模块,然后运行NPM install命令。它应该能解决你的问题。
此外,如果你已经开始使用yarn,在npm的位置: Yarn remove <package-name>
等价于: NPM卸载<package-name>——保存
这将 -从包中移除包。Json,以及 -从项目的node-modules文件夹中卸载它
卸载选项没有为我工作时,我试图使用相同的命令,我在安装(因为我正在安装@latest指令)
举个例子,我安装了一个这样的包:
npm install @ngtools/webpack@latest
然后我想卸载它,所以我使用了相同的命令(包括@latest):
npm uninstall @ngtools/webpack@latest
所以上面的卸载没有工作。我必须删除@latest,然后它工作得很好:
npm uninstall @ngtools/webpack
有时npm uninstall -g packageName不起作用。
在这种情况下,您可以手动删除包。
在Mac上,进入/usr/local/lib/node_modules文件夹,删除包含所需包的文件夹。就是这样。用这个命令检查你的全局安装包列表:
npm list -g --depth=0
最简单的解决方案是:
npm uninstall packageName --save-dev
查看项目中的高级包名称:
npm list --depth=0
输出如下:
app@0.1.0 /home/jackkobec/projects/myAppName
├── packageName@packageVersion
├── express@4.16.4
拷贝包名,执行npm uninstall命令。例如,快递包裹:
npm uninstall express --save-dev
npm 5的更新:
从npm 5.0.0开始,默认情况下,已安装/已卸载的模块将作为依赖项添加/删除,因此不再需要——save选项。
Run
npm uninstall <package>
例如:
npm uninstall mongodb
它将从node_modules文件夹中删除模块和包。json文件。
要使用npm卸载一个模块,你可以使用:
npm uninstall moduleName
此外,如果您希望卸载并希望更改反映在您的包中。Json,然后你可以使用——save标志,像这样:
npm uninstall moduleName --save
OR
npm uninstall -S
如果你想从devDependencies中卸载一个模块,并希望更改反映在包中。json,然后你可以使用-D标志,像这样:
npm uninstall moduleName -D
您可以手动删除一个Node.js模块。对于Windows,
转到存储库的node_modules目录。 删除你不想要的Node.js模块。 不要忘记删除包中对模块的引用。json文件!您的项目仍然可以使用引用运行,但可能会得到一个错误。您也不希望在包中留下未使用的引用。Json文件,可能会导致混乱。
别名可以用来卸载node_modules包
uninstall的别名
删除单个包
- npm un <PACKAGE_NAME>
通过在包名称之间添加空格来删除多个包
- npm un <PACKAGE_NAME_1> <PACKAGE_NAME_2>
移除所有node_modules包
- rm -rf node_modules/
如果你想用npm卸载一个特定的包, 可以使用如下命令:
辛塔克斯:
npm uninstall <package-name>
例子:
npm uninstall moment
简单地说,
npm un module_name
OR
npm uninstall module_name
请确保在与软件包相同的目录中卸载它。Json和node_modules文件夹。