众所周知,任何npm模块都可以通过运行一个简单的命令安装:npm install <module_name>。
我已经安装了一些我不再使用的模块,我只是想把它们弄掉。我对此有几个问题:
我们是否有任何命令或过程来从根目录卸载一个模块(比如npm uninstall <module_name>) 或者仅仅删除模块文件就可以了? 如果我们保留未使用的模块会对我们有什么影响?
众所周知,任何npm模块都可以通过运行一个简单的命令安装:npm install <module_name>。
我已经安装了一些我不再使用的模块,我只是想把它们弄掉。我对此有几个问题:
我们是否有任何命令或过程来从根目录卸载一个模块(比如npm uninstall <module_name>) 或者仅仅删除模块文件就可以了? 如果我们保留未使用的模块会对我们有什么影响?
当前回答
# 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) "。名称”
它将卸载所有模块。
要使用npm卸载一个模块,你可以使用:
npm uninstall moduleName
此外,如果您希望卸载并希望更改反映在您的包中。Json,然后你可以使用——save标志,像这样:
npm uninstall moduleName --save
OR
npm uninstall -S
如果你想从devDependencies中卸载一个模块,并希望更改反映在包中。json,然后你可以使用-D标志,像这样:
npm uninstall moduleName -D
我只是在我的home目录下默认安装stylus,所以我只是使用npm uninstall stylus来卸载它,或者你可以尝试npm rm <package_name> out。
如果它不能与npm uninstall <module_name>一起工作,请输入-g全局尝试它。
也许你只需要以超级用户/管理员的身份使用sudo npm uninstall <module_name>。
卸载选项没有为我工作时,我试图使用相同的命令,我在安装(因为我正在安装@latest指令)
举个例子,我安装了一个这样的包:
npm install @ngtools/webpack@latest
然后我想卸载它,所以我使用了相同的命令(包括@latest):
npm uninstall @ngtools/webpack@latest
所以上面的卸载没有工作。我必须删除@latest,然后它工作得很好:
npm uninstall @ngtools/webpack