【发布时间】:2020-10-30 03:19:36
【问题描述】:
假设我们有这个简单的package.json
{
"name": "test",
"version": "1.0.0",
"description": "Testing",
"main": "index.js",
"scripts": {
"test": "mocha"
},
"keywords": [
"tests"
],
"author": "JJ",
"license": "ISC",
"devDependencies": {
"mocha": "^8.2.0"
}
}
显然,我们希望将 mocha 作为开发依赖项安装。我们跑
npm i -g mocha
安装好了,然后
which mocha
有效。
但是,这不会产生相同的结果:
npm i -g --only=dev .
很明显,它可能会在其他地方安装不在路径中的东西。但是怎么不一样呢?使用--verbose 运行不会产生更多关于它的确切位置的信息。
无论如何,我正在寻找的是一种指定这些全局要求的一致方式。创建一个 Docker 镜像或其他包含大量 npm i -g xxx yyy zzz 的内容似乎不太干净,然后是带有 package.json(或 package-lock.json)的 npm i,其中已经指定了这些依赖项。也许我错过了另一种方式?
【问题讨论】:
标签: node.js npm package.json