Articles of npm

安装离子2错误:npm错误无法读取与Windows 10的属性“path”null

安装离子2与Windows 10时,我有问题。我已经安装npm LST版本和types npm install -g ionic cordova 但得到一个错误 npm ERR! 无法读取null的属性“path” 什么问题,我也做npm cache clean也不能正常工作。

npm通过package.json中的依赖来安装private git + ssh版本库

我有几个本地(私人)模块,我试图设置可以从任何本地用户的机器直接从git仓库安装。 我已经可以设置它了,所以如果文件首先被克隆(例如,通过git)到本地机器上,我可以“npm install”顶层模块,所有其他的依赖关系将被计算出来并被安装。 我做这样做是这样的: apt-get install /path/to/top/top/level/module 然后所有的包都在同一个顶层目录下,在每个package.json设置依赖关系为相对path,例如 "dependencies": { "another-module": "../another-module" } 但是,在安装之前,并不总是需要在机器上安装源代码的本地副本。 有了很多软件包,只需要手动“npm install”所有的依赖关系,而不是用git来克隆每个项目,只需要更多的工作。 那么目标就是使用如下的东西: npm install git+ssh://user@somehow.local/home/user/git/another-module 这仍然有可能使用依赖,现在改变上面的东西是这样的: "dependencies": { "another-module": "git+ssh://user@somehow.local/home/user/git/another-module" } 但是这非常脆弱。 如果服务器的任何细节发生变化,则必须更改每个依赖关系。 此外,它防止了多个不同地点可供select的可能性 – 一次将所有东西locking在一个地点。 事实上,它甚至可以防止同一台机器上的所有访问存储库的不同用户访问它,因为每个用户都有不同的“user @”URL部分! 如果我使用每个原始依赖关系的相对path不起作用 – 它会尝试将其解释为与我正在安装的目录相关,当然这个目录还不存在! 我如何安装git + ssh版本库并正确保留依赖关系,而不将它们绑定到特定位置或用户? 有没有可能在package.json中使用一个环境variables的方法,所以我可以做这样的事情? "dependencies": { "another-module": "${PRIVATE_NPM_ROOT}/another-module" }

如何获取project.json中的脚本才能在debugging时执行

所以我有我的prod中运行webpack的预发布脚本 "scripts": { "prepublish": [ "npm install", "node node_modules/webpack/bin/webpack.js –env.prod" ], "postpublish": [ "dotnet publish-iis –publish-folder %publish:OutputPath% –framework %publish:FullTargetFramework%" ] 但是,我如何运行一个只在debugging中执行的脚本呢? 我想实现的是每次在debugging模式下构build项目时,使webpack运行时不使用–env.prod。

npm更新取消链接链接的包

我有一个项目,其中包含一个根节点包,其中包含由npm链接在一起的子包 – 这些子包相互依赖(列在package.json依赖项中),结构基本如下所示: -rootpackage –subpackageA –subpackageB 假设subpackageA依赖于subpackageB,所以我把它们链接起来,避免在subpackageB的源代码发生变化之后,在subpackageA中发布/重新安装subpackageB。 链接工作得很好,直到我运行npm update subpackageA,导致子包B被取消链接。 现在,我看到两个选项: 我理论上可以在每次npm install或npm update后运行npm link操作,以确保链接始终存在。 这在postinstall的情况下适用于postinstall ,但是在更新的情况下,不postinstall 。 我不知道更新后会调用npm的任何postupdate命令。 也许有一种方法可以更聪明地做到这一点,也许用纱线 ,我也使用,在某种程度上,它可以防止取消链接或排除我的子包的更新,所以我不会失去我的子包之间的链接,但现在我不知道这样的方式。 有没有办法使这些选项之一工作或任何其他方式来解决这个问题? 我需要保持这个和其他的链接,所以我们不必在每次安装/更新后运行npm link 。 我无法在任何地方真的find关于这个问题的信息。 顺便说一句我正在使用节点6.4.0和NPM 3.10.3。

如何使用sqlcipher支持需要node-sqlite3

我有一个需要node-sqlite3包的软件包。 但是,它也需要使用sqlcipher支持构buildnode-sqlite3,否则我的包将无法正常工作 。 我正在安装node-sqlite3使用: export LDFLAGS="-L/usr/local/lib" export CPPFLAGS="-I/usr/local/include/" npm install sqlite3 –build-from-source –sqlite_libname=sqlcipher –sqlite=/usr/local/lib –save 但是,当我完成了,看看我的package.json,它只是说: "sqlite3": "^3.1.8" 没有提到sqlcipher的要求。 如果我天真地尝试按照这个要求来安装我的软件包,它不会使用sqlcipher支持来构build,而且我的应用程序失败了,因为即使存在正确的密钥,也无法读取sqlcipherencryption的数据库! 此外,在不同的平台上,不能保证sqlcipher将安装在同一个位置,尽pipe使问题更简单一些,我们可以假设它已经build立并存在某个地方 。 我如何正确指定这个依赖性要求?

npm install上的致命错误对象错误

我正在做一个npm安装,并得到以下错误: npm ERR! git rev-list -n1 8d27c06c2903538cd740a80edeae548922d057a5: fatal: bad object 8d27c06c2903538cd740a80edeae548922d057a5 npm ERR! git rev-list -n1 8d27c06c2903538cd740a80edeae548922d057a5: npm ERR! git rev-list -n1 e92ca1c26c338ab641e70089cf8f57c140f39207: fatal: bad object e92ca1c26c338ab641e70089cf8f57c140f39207 npm ERR! git rev-list -n1 e92ca1c26c338ab641e70089cf8f57c140f39207: npm ERR! git rev-list -n1 d90b1e34c799bf61cd1aafdc33db0a554fa9e617: fatal: bad object d90b1e34c799bf61cd1aafdc33db0a554fa9e617 npm ERR! git rev-list -n1 d90b1e34c799bf61cd1aafdc33db0a554fa9e617: npm ERR! git rev-list -n1 f7f5bd678b80ec90c8d5c38c106f27466701fb2b: […]

React项目不在Windows上运行,但在Ubuntu上运行

我在电脑里input了一个反应过来的项目。 当我尝试运行gulp命令时,它在控制台中给我一个错误。 但是,当我在Ubuntu上运行它时,它工作得很好。 这是我在窗口上的错误 ERROR in ./src/client/index.js Module parse failed: D:\Frontend-Master\src\client\index.js Unexpected token (64:2) You may need an appropriate loader to handle this file type. SyntaxError: Unexpected token (64:2) at Parser.pp$4.raise (D:\Frontend-Master\node_modules\acorn\dist\acorn.js:2221:15) at Parser.pp.unexpected (D:\Frontend-Master\node_modules\acorn\dist\acorn.js:603:10) at Parser.pp$3.parseExprAtom (D:\Frontend-Master\node_modules\acorn\dist\acorn.js:1822:12) at Parser.pp$3.parseExprSubscripts (D:\Frontend-Master\node_modules\acorn\dist\acorn.js:1715:21) at Parser.pp$3.parseMaybeUnary (D:\Frontend-Master\node_modules\acorn\dist\acorn.js:1692:19) at Parser.pp$3.parseExprOps (D:\Frontend-Master\node_modules\acorn\dist\acorn.js:1637:21) at Parser.pp$3.parseMaybeConditional (D:\Frontend-Master\node_modules\acorn\dist\acorn.js:1620:21) at Parser.pp$3.parseMaybeAssign (D:\Frontend-Master\node_modules\acorn\dist\acorn.js:1597:21) at Parser.pp$3.parseExprList […]

如何复制Node.js环境?

我有一个Node.js设置与一些全球安装的工具。 现在我正在转移到一台新电脑上,想要复制这个环境。 唯一的select似乎是列出旧环境中的东西: npm ls -g –depth=0 然后在新环境中手动安装它们中的每一个。 有没有一种更简单的方法来在新的计算机上安装相同的全局包? 是否有一个全局设置文件,我可以复制到新计算机做到这一点?

Node.js无法向zomato.com发送请求

我想请求https://zomato.com/,但没有任何反应,我可以连接任何地方,但不能到zomato我每次都会收到超时错误。 我试图设置用户代理,但它没有工作。 我使用节点6.6.0和请求2.79.0。 有任何想法吗? var request = require('request'); var cheerio = require('cheerio'); var fs = require('fs'); var http = require('http'); request.get({ url: 'http://zomato.com/', headers: { 'user-ggent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36' } }, function(error, response, body) { if(error) { console.log("Error: " + error); return; } else { […]

在package.json中configuration本地打印机编译器

编辑 #1 :似乎我有一个工作configuration,所有的改善这个build议是受欢迎的,虽然。 请参阅答案: https : //stackoverflow.com/a/42269408/1155847 原文问题 : 我目前正在设置我的环境,以便我的package.json的devDependencies版本将被使用。 什么是一些最好的做法,所以这是“编辑不知情”,最好可以用作npm脚本,例如: npm run tscompile ? 要清楚的是 – 当使用npm install typescript -g时,我可以使所有的工作都能正常工作,但是我依赖于全局安装的版本,这不是我想要的,因为我们想要在团队中工作并设置在升级之前,每个成员都有特定的打字稿版本,所以我们都在同一页面上。 我目前正在试图设置它像这样 – 然后npm然后抱怨它不认可“node_modules”作为内部或外部命令…我想我也必须通过tsconfig.json到TSC,或者至less给它“工作目录” – 但我甚至无法通过从本地下载的npmcaching启动tsc。 的package.json { "name": "tswithnodejsgettingstarted", "version": "1.0.0", "description": "", "main": "app/index.js", "scripts": { "start": "node app/index.js", "tscompile": "node_modules/typescript/tsc" }, "author": "", "license": "ISC", "devDependencies": { "typescript": "2.1.6" } } tsconfig.json […]