需要从NPM缓存NPM模块
在OSX/* nix上的~/.npm
目录包含NPM缓存,这似乎像这样被结构化:需要从NPM缓存NPM模块
foo/
0.1.2/
1.0.01/
1.3.34/
2.0.1/
bar/
0.3.8/
2.1.1/
baz/
3.2.1/
4.1.7/
我想知道,如果我们可能需要从该目录模块目录。我相信这完全违背了NPM理念,但只是想知道最简单的方法是什么。
我想更改NODE_PATH以使用〜/ .npm目录是可能的,但〜/ .npm目录似乎有不同的结构,所以不知道require()
是否可以使用。
我们看到像Yarn
新包经理谁试图改善NPM
。在我看来,至今为止NPM并不只是使用.npm缓存来引用依赖项(为什么要在项目目录本地重写它们),但是也许有人可以解决这个问题,我仍然困惑不已。
我的最终目标是找到一种方式来获得巨额的依赖像巴贝尔,伊斯坦布尔在一个位置上的磁盘,并参考该位置随处可见(至少在相同的用户)。使用像NVM这样的工具,全局模块位置(npm root -g)会发生变化,所以最好使用$ HOME目录中的某些内容,并且因为.npm高速缓存已经存在,所以它提供了一种可能性。
除了操作NODE_PATH来处理〜/ .npm目录(我只是试过了,〜/ .npm的目录结构似乎排除了这一点),另一种解决方案可能是以编程方式使用npm。
事情是这样的:
const npm = require('npm');
npm.load({
loaded: false
}, function (err) {
// catch errors
npm.commands.install(['babel','istanbul'], function (er, data) {
// log the error or data
});
npm.on('log', function (message) {
// log the progress of the installation
console.log(message);
});
});
我一直在问自己同样的问题。如果我有一个package.json
以及我需要的所有依赖关系以及我需要的所有依赖关系,那么为什么我需要再次执行该操作并将自己弄糊涂并导致“配置疲劳”? 有一种方法,我敢肯定,但每次我试图要么使用package.json
或从任何地方访问的webpack.config.js
但预定位置时,我建立了它,它不部分或全部无效。
另外,樱桃挑选出你node_modules
文件夹的内容可能导致奇怪的问题,所以我不乱用往心里去。
只需使用:
NPM安装[依赖,开发工具,和你需要什么]
,你应该是甜的。
无需具有正在传递您的最佳CONFIGS - 只是保持你的NPM手头上安装命令复制和粘贴的意愿。
干得好你的第一个答案!我刚刚对格式化做了一些调整,并删除了一些有切点的评论,但除此之外,这是一个有趣的解释。确保你看看我改变了什么,这样你就可以看到网站上的预期情况,所以你的问题可以被其他人收到。 – Aurora0001
如果你有一个'项目/目录,你可以在该目录中的'node_modules'并包含一个'需要()'在父母的'node_modules' *模块应该*能够访问每一个子目录中安装的东西它(请参阅[Node文档](https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders))。这是否接近您所需要的,或者您是否特意要缓存成为源代码? – Aurora0001