我如何列出用户安装/环境包只在npm?
当我执行npm -g list时,它会输出每个包及其依赖项。相反,我希望看到包安装在当前工作的项目或环境中。
我如何列出用户安装/环境包只在npm?
当我执行npm -g list时,它会输出每个包及其依赖项。相反,我希望看到包安装在当前工作的项目或环境中。
当前回答
截至2015年12月13日
虽然我发现这个公认的答案是100%正确和有用的,但我希望根据我自己的经验对它进行一些扩展,希望对其他人也有好处。(这里我交替使用术语包和模块)
在回答这个问题时,是的,公认的答案是:
npm list -g --depth=0
您可能希望在类unix系统上或当grep可用时检查全局安装的特定模块。这在检查您正在使用的模块的版本时特别有用(全局安装;如果检查的是本地模块,只需删除-g标志):
npm list -g --depth=0 | grep <module_name>
如果你想查看特定模块的所有可用(远程)版本,请执行以下操作:
npm view <module_name> versions
注意,versions是复数形式。这将为您提供可供选择的完整版本列表。
最新远程版本:
npm view <module_name> version
注意,version是单数。
要找出哪些包需要更新,您可以使用:
npm outdated -g --depth=0
要更新全局包,可以使用
npm update -g <package>
要更新所有全局包,您可以使用:
npm update -g
(但是,对于低于2.6.1的npm版本,也请查看此链接,因为有一个特别的脚本,建议用于全局更新所有包。)
以上命令应该适用于NPM 1.3版本。1.4 x。x, 2。X和3.x。
其他回答
到2021年底,几乎没有明显的方法可以做到这一点。尽管所有其他答案仍然有效,但我认为除了可能的更明确和完整的命令列表之外,还需要进行更新,并且当我这样做时,我为需要它的人添加了一些其他常见命令(安装,卸载等)。
# Bare command
npm list
# 'ls' is an alias of list
npm ls
# Don't show dependencies
npm list --depth=0
# Global modules
npm list -g --depth=0
# More info
npm la
npm ll
# Show particular environment packages
npm ls --only=dev
npm ls --only=prod
# Parseable view (tree view)
npm ls --parseable=true
Node.js文档实际上已经很好地解释了这个问题。这是一个主要命令的集合列表。
开始前,请注意:
所有命令都将在本地运行已安装模块的列表。为了在全局级别上运行,只需在语句末尾添加-g标志。
列出已安装的依赖命令
See the version of all installed npm packages, including their dependencies. npm list >>> /Users/joe/dev/node/cowsay └─┬ cowsay@1.3.1 ├── get-stdin@5.0.1 ├─┬ optimist@0.6.1 │ ├── minimist@0.0.10 │ └── wordwrap@0.0.3 ├─┬ string-width@2.1.1 │ ├── is-fullwidth-code-point@2.0.0 │ └─┬ strip-ansi@4.0.0 │ └── ansi-regex@3.0.0 └── strip-eof@1.0.0 Get only your top-level packages npm list --depth=0 Get the version of a specific package by specifying its name. npm list <package-name> See what's the latest available version of the package on the npm repository npm view <package-name> version Install an old version of an npm package using the @ syntax npm install <package>@<version> npm install cowsay@1.2.0 Listing all the previous versions of a package npm view cowsay versions [ '1.0.0', '1.0.1', '1.0.2', '1.0.3', '1.1.0', '1.1.1', '1.1.2', '1.1.3', .... ]
更新所有Node.js依赖项
安装新的小版本或补丁版本 npm更新 安装一个新的小版本或补丁版本,但不更新package.json文件 NPM更新——没有保存 为了发现包的新版本,这将为您提供一个存储库中一些过时的包的列表,这些包在很长一段时间内没有更新 npm过时
其中一些更新是主要版本。运行npm update不会更新它们的版本。主要版本从来不会以这种方式更新,因为它们(根据定义)引入了破坏性的更改,而npm希望为你省去麻烦。
要将所有包更新到新的主版本,请全局安装npm-check-updates包:
npm install -g npm-check-updates
ncu -u
这将升级包中的所有版本提示。json文件,到dependencies和devDependencies,这样npm就可以安装新的主版本
Dev的依赖
安装在开发依赖项中。
npm install <package-name> -D
npm install <package-name> --save-dev # The same as above
避免在生产环境中安装这些开发依赖项
npm install --production
卸载npm包
npm uninstall <package-name>
npm uninstall -g <package-name> # Globally uninstall
卸载包并删除包中的引用。json文件 npm卸载<package-name> -S npm uninstall <package-name>——save #同上
一些带有全局标志示例的命令。
npm list -g
npm list --depth=0 -g
npm list <package-name> -g
npm view <package-name> version -g
额外的命令
回复@prosti
文档
找到npm包的安装版本 安装旧版本的npm包 将所有Node.js依赖项更新到最新版本 使用npm进行语义版本控制 卸载npm包 NPM全局或本地包 npm依赖和devDependencies npx Node.js包目录运行表
我使用的是npm 7.20.3版本,看起来默认深度已经为0。所以在我的情况下,npm list——global只显示了一个安装包(npm)。我知道我安装了更多的软件包,输出结果让我感到困惑。
最终,我尝试了——depth参数,我能够看到所有安装的包:npm list——global——depth=1来查看其他安装的包(设置为10来查看整个依赖树)。
Node.js有局部模块和全局模块的概念。
本地模块位于当前项目目录中。
全局模块通常位于用户的主目录中,尽管我们可以更改全局模块所在的路径。
列出当前目录中的本地模块:npm list npm list——global OR npm list——g //列出所有顶级模块及其依赖项 只列出顶层(已安装的模块)全局模块:npm List -g——depth=0
列出一些友好的GUI的NPM包!
这是我个人更喜欢的,可能对其他人也一样,在演讲或会议中也会有帮助。
使用npm-gui,您可以以更好的可视化方式列出本地和全局包。
你可以在这里找到包裹
npm-gui (npm) npm-gui (GitHub)
运行以下命令
// Once
npm install -g npm-gui
cd c:\your-prject-folder
npm-gui localhost:9000
然后在http:\\localhost:9000打开浏览器
一种方法可能是使用以下命令找到模块的根目录:
npm root
输出:
/Users/me/repos/my_project/node_modules
然后列出该目录…
ls /Users/me/repos/my_project/node_modules
输出:
grunt grunt-contrib-jshint
在本例中,用户安装的包是grunt和grunt-contrib-jshint。