如何让npm使用caching

好的,我应该添加一个警告,我在一个Docker容器中,但实际上应该不会有太大的关系,我不停止容器,并且为npmcaching文件夹以及/ home文件夹用户运行npm命令。 Docker容器的目的是安装npm,它是一个构build从站,由Jenkins构build起来构build一个AngularJs应用程序。 问题是,它非常慢,每次都下载所有需要的npm包。 jenkins是用户,build立服务器上的jenkins帐户是“谁”运行npm install 对于运行npm install cmd: /home/jenkins/.npm的用户,以及命令npm config get cache所说的文件夹,我的卷都是我的caching目录: /root/.npm 。 不是容器卷应该甚至重要,因为在运行npm install之后我还没有停止容器。 确定我开始debugging的步骤,开始,我用这个命令“打开容器”: docker exec -it <container_id> bash 我从这个点运行的所有命令我连接到正在运行的容器与npm安装。 echo "$HOME"结果在/root npm config get cache以root/.npm npm config get cache结果 任何时候jenkins运行npm install在这个容器中,在那个命令成功完成之后,我运行npm cache ls ,总是产生空的,没有任何caching: ~/.npm 许多软件包被下载,但我们可以用ls -a /home/jenkins/.npm/看到: 所以我试着把cache-min设置为很长的到期时间: npm config set cache-min 9999999没有帮助。 我不知道还有什么可以做,看来我的npm软件包没有被caching,如何获得npm来caching软件包? 这里是一个截断的npm安装输出: Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5.3/linux-x64-48_binding.node […]

MongoDB可以包装在一个电子应用程序?

我可以在一个电子应用程序中打包MongoDB,所以我不需要将其安装在客户端的机器上? 我正在OSX上开发一个应用程序,它可能会在Windows上使用。 我需要在客户端上单独安装Mongo吗?

如何解决npm安装在非MAC操作系统上抛出fsevents警告?

npm install命令正在引发以下警告 – npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.2 (node_modules\rea ct-scripts\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@ 1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"} ) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\ch okidar\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@ 1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"} ) 警告显然是导致我们的jenkins工作标记失败,所以我们只是试图摆脱相同的。 我已经检查了这个https://stackoverflow.com/a/42938398/351903但是,不同于在那里提到的,我没有任何/ […]

使用Node GitHub API在本地克隆远程回购

我正在使用Node GitHub API连接到GitHub上的回购站。 我可以成功获取我的远程仓库的参考资料: const dotenv = require('dotenv') const GitHub = require('github-api') dotenv.config() const api = process.env.GITHUB_URL const token = process.env.GITHUB_TOKEN const gh = new GitHub({ token }, api) const owner = process.env.GITHUB_REPO_OWNER const name = process.env.GITHUB_REPO_NAME const repo = gh.getRepo(owner, name) const branch = 'master' const ref = `heads/${branch}` repo.getRef(ref).then((response) => { // This […]

如何通过HTTPS将Firebase令牌发送到后端(Node / Express)

我有我的应用程序的客户端login正在工作得很好。 现在我需要将客户端UID传递给节点。 在Firebase文档中find了这个Verify ID Tokens ,但是我只是不知道如何实际执行此部分:“通过HTTPS将令牌发送到您的后端”

第二次“new CouchDB.Database(queueDb);”时引发错误

我正在使用meteor-couchdb,并尝试连接到数据库进行API调用,并执行所需的操作。 dbName = new CouchDB.Database('db_name'); 但是,当再次进行API调用时会抛出错误 Error: A method named '/db_name/insert' is already defined 根据API调用,我应该能够select需要连接的Db。 我尝试在节点的方式,即 Cloudant.use('db_name'); 但是,然后meteor是我的服务器端框架,我需要asynchronous处理同步使用async await或Meteor.wrapAsync()。 什么是build议的方法来连接到数据库并执行操作,每当一个API调用?

从Promise返回数据

我的主要目标是使用PDF.js并将parsing的PDF数据发送到前端。 PDF.js库对承诺进行处理,并通过页码返回文件中的数据。 这是我的问题所在。 我不太熟悉承诺,并且在循环中返回数据。 我的代码目前看起来像这样: var pdf = path.join(__dirname, '../../testoutput.pdf'); pdfJsLib.getDocument(pdf).then(function(doc){ var promises = []; for(i = 1; i <= doc.numPages; i++){ //promises.push(doc.getPage(i)); doc.getPage(i).then(function(page){ promises.push(page.getTextContent()); var response = []; if(i == doc.numPages + 1){ var promiseLimiter = promises.length; Promise.all(promises).then(function(data){ response.push(data[0]); if(promiseLimiter == doc.numPages){ res.status(200).json(response); } }) } }) 我试图将page.getTextContent()信息推送到一个数组,并发送数组作为响应,但我明白,我这样做是错误的方式。 任何想法如何在这种情况下使承诺循环正常工作?

返回值调用方法

我为我的ExpressJS项目使用Sequelize。 我在我的模型中有这个代码: exports.findAll = () => { let data = []; Book.findAll().then(books => { data = books; // book has array of objects }); return data; // but data doesn't have even after assigning books to data }; 我想方法findAll返回值由BookController调用时 。

如何在本地安装npm包

我已经下载了下面的demo和ng2-archwizard 我想进行更改,以便对本地ng2-archwizard的源代码进行更改,并在本地安装此演示项目的包。 我尝试的第一件事是通过以下步骤npm link 在ng2-archwizard里面,我改变了代码并运行了npm link 在演示项目中,我安装了ng2-archwizard,使用npm link \path\to\ng2-archwizard或者npm link ng2-archwizard 当我运行ng serve我得到以下错误 chunk {0} main.bundle.js,main.bundle.js.map(main)984 kB {4} [initial] [rendered] 块{1} polyfills.bundle.js,polyfills.bundle.js.map(polyfills)191 kB {5} [initial] [rendered] chunk {2} styles.bundle.js,styles.bundle.js.map(styles)175 kB {5} [initial] [rendered] chunk {3} scripts.bundle.js,scripts.bundle.js.map(scripts)168 kB {5} [initial] [rendered] chunk {4} vendor.bundle.js,vendor.bundle.js.map(vendor)2.83 MB [initial] [rendered] 块{5} inline.bundle.js,inline.bundle.js.map(内联)0字节[条目] [呈现] 遇到错误时遇到静态parsing符号值。 函数调用不被支持。 考虑使用对导出函数的引用(原始.ts文件中的位置194:50)来replace函数或lambda,parsing/ usr / xxx […]

Docker端口转发为nodejs应用程序

我在为我的nodejs应用程序configurationdocker时遇到问题。 我以前已经为php和rails设置了容器,端口转发工作正常,但是对于这个例子,我似乎无法得到它的工作。 运行: docker ps ,我得到以下内容: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a60f9c82d600 29c7d94a8c58 "/bin/sh -c 'npm s…" 5 seconds ago Up 3 seconds 3000/tcp romantic_albattani 正如你可以看到我没有得到通常的:我期望的0.0.0.0:3000->3000/tcp 。 docker-compose ps给出: Name Command State Ports —————————— 我的docker-compose.yml: web: build: . volumes: – .:/app volumes_from: – box ports: – "3000:3000" box: image: busybox volumes: – […]