如何找到macOS的`npm i -g`缓存路径?

时间:2018-03-13 06:16:15

标签: npm

我尝试运行npm i -g electron但由于网络限制我无法下载所需的文件(例如electron-v1.8.3-darwin-x64.zip)。我在本地拥有这些文件我只需要将它们放入缓存文件夹(它不是电子生成器' s ~/Library/Caches/electron-builder)所以它可以安装而无需下载文件。

npm通常会将文件下载到:/private/var/folders/mp/{{random}}/T/electron-tmp-download-56623-{{timestamp}}/

因为这不是一个静态路径,如果我只是将文件放入现有文件夹,它就不会工作。 npm将尝试下载到新路径(愚蠢)。

如果我使用此随机路径的npm cache add file/folder或我已有的文件,它将返回:

npm ERR! code ENOPACKAGEJSON
npm ERR! errno -2
npm ERR! syscall open
npm ERR! package.json ENOENT: no such file or directory, open '/private/var/folders/mp/{{random}}/T/electron-tmp-download-56623-{{timestamp}}/package.json'
npm ERR! package.json npm can't find a package.json file in your current directory.

1 个答案:

答案 0 :(得分:-1)

使用npm cache命令可以直接添加文件。例如:

sourceSets {
    main {
        jniLibs.srcDirs = ['jniLibs']
        aidl.srcDirs = ['src/main/aidl']
    }
}

完成后,使用npm cache add electron-v1.8.3-darwin-x64.zip 重置缓存