在我正在处理的 node.js 脚本中,我想将所有 node.js 模块(使用 npm 安装)打印到命令行。我怎样才能做到这一点?
console.log(__filename);
//now I want to print all installed modules to the command line. How can I do this?
在我正在处理的 node.js 脚本中,我想将所有 node.js 模块(使用 npm 安装)打印到命令行。我怎样才能做到这一点?
console.log(__filename);
//now I want to print all installed modules to the command line. How can I do this?
如果您只对没有完整树的全局安装的软件包感兴趣,那么:
npm -g ls --depth=0
或本地(省略 -g):
npm ls --depth=0
使用npm ls(甚至还有 json 输出)
从脚本:
测试.js:
function npmls(cb) {
require('child_process').exec('npm ls --json', function(err, stdout, stderr) {
if (err) return cb(err)
cb(null, JSON.parse(stdout));
});
}
npmls(console.log);
跑:
> node test.js
null { name: 'x11', version: '0.0.11' }
所有全局安装的第三方模块的列表,在控制台中写入:
npm -g ls
在任何操作系统中
npm -g list
就是这样
为什么不从里面抓住它们dependencies
呢package.json
?
当然,这只会给您实际保存的那些,但无论如何您都应该这样做。
console.log(Object.keys(require('./package.json').dependencies));
for package in `sudo npm -g ls --depth=0 --parseable`; do
printf "${package##*/}\n";
done
到 2021 年底,几乎没有明显的方法可以做到这一点,并且作为唯一一个给出上面答案的部分,这是一个完整的列表。
Node.js 文档实际上对此事进行了很好的解释,这是主要命令的集合列表。
所有命令都将在本地运行已安装模块的列表。为了运行全局级别,只需在语句末尾添加一个标志。-g
查看所有已安装 npm 包的版本,包括它们的依赖项。
❯ 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
只获取您的顶级包
npm list --depth=0
通过指定名称获取特定包的版本。
npm list <package-name>
在 npm 存储库上查看该软件包的最新可用版本是什么
npm view <package-name> version
使用 @ 语法安装旧版本的 npm 包
npm install@npm install cowsay@1.2.0
npm install -g webpack@4.16.4
列出软件包的所有先前版本
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',
....
]
安装新的次要版本或补丁版本
npm update
安装新的次要版本或补丁版本,但不更新 package.json
npm update --no-save
为了发现软件包的新版本,这为您提供了一个存储库中的一些过时软件包的列表,这些软件包已经有一段时间没有更新了
npm outdated
其中一些更新是主要版本。运行 npm update 不会更新这些版本。主要版本永远不会以这种方式更新,因为它们(根据定义)引入了重大更改,而 npm 想为您省去麻烦。
要将所有包更新到新的主要版本,请全局安装 npm-check-updates 包:
npm install -g npm-check-updates
ncu -u
这会将 package.json 文件中的所有版本提示升级为依赖项和 devDependencies,因此 npm 可以安装新的主要版本
安装在开发依赖项中。
npm install <package-name> -D
npm install <package-name> --save-dev # same as above
避免在生产环境中安装这些开发依赖项
npm install --production
npm uninstall <package-name>
npm uninstall -g <package-name> # globally uninstall
卸载一个包并**删除package.json中的引用**
npm uninstall <package-name> -S
npm uninstall <package-name> --save # same as above
一些带有全局标志示例的命令。
npm list -g
npm list --depth=0 -g
npm list <package-name> -g
npm view <package-name> version -g