Tag: npm

自动更新package.json版本

在我做一个小的发布和标记之前,我想更新package.json以反映该程序的新版本。 有没有办法自动编辑文件package.json ? 会使用git pre-release hook吗?

“package-lock.json”angular色

npm @ 5已经发布了,它有一个新的特性“package-lock.json”文件(在npm安装之后),让我感到困惑。 我想知道,这个文件有什么作用?

如何将本地模块指定为npm包的依赖关系

我有一个应用程序,它具有在依赖关系中的package.json文件中指定的第三方模块(例如“express”)的通常依赖关系。 例如 "express" : "3.1.1" 我想模块化构build我自己的代码,并有package.json模块安装一组本地(意味着我目前在文件系统中)模块。 我知道我可以通过运行来安装本地模块: npm install path/to/mymodule 但是,我不知道如何通过package.json依赖关系结构来做到这一点。 在这个命令中使用–save选项只需将"mymodule": "0.0.0"放入我的package.json(不引用文件path位置)。 如果我然后从node_modules中删除安装的版本,并尝试从package.json重新安装,它会失败(因为它在中央registry中查找“mymodule”,而不是在本地查找)。 我确定这是一种告诉"dependencies": {}我希望从文件系统path安装它,但不知道如何。 还有其他人有这个问题吗? 谢谢。

节点Sass找不到当前环境的绑定

我在构build应用程序时遇到了问题,因为节点sass不能正确显示错误。 错误绑定中的错误/Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node 节点Sass找不到当前环境的绑定:OS X 64位,节点0.10.x 我试过跑步 npm rebuild node-sass 这说 二进制是好的; 退出。 当运行node -v我得到v6.2.2 这与sass错误所说的“节点0.10.x”不同。 我不知道为什么它得到错误的版本。 我也尝试删除node_modules文件夹并运行npm更新或npm安装,这两个都没有解决问题。 有任何想法吗?

如何在Windows上使用深度node_modules结构部署Node.js应用程序?

我遇到了一个奇怪的问题 – 显然有些Node.js模块具有如此深的文件夹层次结构 ,Windows复制命令(或PowerShell的Copy-Item就是我们实际使用的)在path上遇到臭名昭着的“path too long”错误超过250个字符长。 例如,这是一个Node模块可以创build的文件夹层次结构: node_modules\nodemailer\node_modules\simplesmtp\node_modules\ xoauth2\node_modules\request\node_modules\form-data\node_modules\ combined-stream\node_modules\delayed-stream\… 这看起来很疯狂,但是对于Node模块却是一个现实。 我们需要在部署过程中使用复制粘贴(我们没有使用像Heroku这样的“聪明的”目标平台,其中Git部署将成为一个选项),这是Windows的严重限制。 是不是有一个npm命令或什么东西,可以压缩node_modules文件夹,或者只包括运行时实际需要的东西? (节点模块通常包含test文件夹等,我们不需要部署。)任何其他的想法如何解决它? 不幸的是,不使用Windows是一种select:)

如何卸载使用npm链接安装的软件包?

当在软件包的目录中使用sudo npm link安装节点软件包时,如何在完成开发后卸载软件包? npm link将软件包作为系统全局包位置('/ usr / local / lib`)中的符号链接来安装。 这使您可以在开发包的同时testing包,而无需一遍又一遍地重新安装。 我需要运行哪个npm命令来删除链接?

npm从Git安装在一个特定的版本

假设我已经写了一个Node.js的模块,我想保持私有。 我知道我可以(应该)添加该行: "private": "true" 到package.json文件,我也知道我可以使用文件系统path或链接到git存储库(包括GitHub)来npm install此模块。 我也知道,我可以把这样的文件系统path或链接到一个git仓库到package.json ,所以dependencies部分可能看起来有点像这样: "dependencies": { "myprivatemodule": "git@github.com:…" } 我现在想要的不是链接到最新版本,而是一个特定的版本。 我知道的唯一可能性是使用其ID来链接到特定的提交。 但是这比使用0.3.1这样的版本号可读性差,维护性差。 所以我的问题是:是否可以指定这样一个版本号,并使npmsearch包含此版本的最新提交的git存储库? 如果不是的话,你如何解决你的项目中的这个问题? 你住的提交ID还是有更好的解决办法吗?

如何pipe理客户端的JavaScript依赖关系?

虽然有很好的解决scheme来pipe理服务器端的依赖关系,但我找不到满足我所有需求的客户端JavaScript依赖pipe理工作stream程。 我想要满足这5个要求: 以与npm的package.json或bower的bower.json类似的格式pipe理我的客户端依赖bower.json 它应该有灵活性指向git repo或实际的js文件(无论是在网上或本地)在我的dependency.json文件中较less知道的库(npm让你指向git仓库) 它应该缩小和命名空间所有库到一个单一的文件,如恩德 – 这是唯一的JS文件,我需要把我的<script>标签在客户端 它应该像BoxJS 4 (现在已经死了)一样支持CoffeeScript, 在浏览器中,我应该可以使用任何需要的样式: var $ = require('jquery'); var _ = require('underscore'); 或者更好的是,做headjs风格: head.js(['jquery', 'underscore', 'mylib'], function($, _, mylib) { // executed when all libraries are loaded }); 如果没有这样一个单一的工具存在,什么是最好的工具组合,即我可以结合使用诸如volo (或grunt )之类的工具链? 我已经研究了我在这里链接到的所有工具,它们最多只能满足我个人的要求。 所以,请不要再发布这些工具。 我只接受一个答案,它提供了满足我所有5个要求的单个工具,或者如果有人发布了一个具有多个工具链的具体工作stream程/脚本/工作示例,也可以满足我所有的要求。 谢谢。

npm windows安装全局结果npm ERR! 外来

我是新来的咕噜和NPM。 所以我在网站上尝试了一些“cookbook-example” 。 现在你不应该看那里,但我认为这可能是好的,分享网站。 到目前为止这么好,直到全球安装。 (好吧,我必须弄清楚一些错误,但是现在我已经在使用npm了)。 当谈到在全球安装某些东西的时候,我会陷入困境。 我到目前为止testing全球安装一些软件包: 创buildtesting目录grunttest 在那个目录里面: npm install -g jshint 输出我可以看到: npm http GET https://registry.npmjs.org/jshint npm http 304 https://registry.npmjs.org/jshint … npm http 304 https://registry.npmjs.org/string_decoder C:\Program Files\nodejs\node_modules\npm\jshint -> C:\Program Files\nodejs\node_modules\npm\node_modules\jshinnt jshint@2.4.4 C:\Program Files\nodejs\node_modules\npm\node_modules\jshint ├── console-browserify@0.1.6 ├── exit@0.1.2 ├── underscore@1.4.4 ├── shelljs@0.1.4 ├── minimatch@0.2.14 (sigmund@1.0.0, lru-cache@2.5.0) ├── cli@0.4.5 (glob@3.2.9) └── htmlparser2@3.3.0 (domelementtype@1.1.1, domutils@1.1.6, […]

如何使用nvm更改npm的版本?

我一直在使用NVM为我的节点工作安装nodeJS的最新版本。 它完全适用于安装单独的版本和切换它们。 它还会在每个本地… / bin文件夹以及节点二进制文件中安装最新版本的NPM。 但是,似乎没有任何方法可以切换我使用的NPM版本(或者至less我无法弄清楚)。 我能想到的唯一解决scheme是删除默认的二进制文件(这是在我首次安装节点时安装的NPM),以及放置最新的NPM二进制文件的位置。 但是,我想知道是否有更好的方法去做这件事。