npm install packagename –save-dev不更新package.json

运行–save-dev后package.json不会更新是否有简单或细微的原因? 这是我的命令:

npm install modulename --save-dev

从项目的根目录运行。 命令成功,新模块按预期显示在node_modules目录中。 帮助将不胜感激。 我正在使用npm v 1.4.28

我目前的package.json的全部是:

 { "name": "FooWeb", "version": "1.0.0", "description": "Foo Web", "devDependencies": { "gulp": "3.8.11", "gulp-jshint": "1.9.2", "gulp-concat": "2.5.2", "gulp-sass": "1.3.3", "gulp-sourcemaps": "1.4.0", "gulp-watch": "4.1.1" } } 

我确实收到了安装一个没有版本库字段或README的软件包的警告,但我认为这没有关系。

我也有这个问题,这让我疯狂。

最后修复它是运行npm init 。 这增加了一堆东西到我的package.json,但事后--save-dev按预期工作。 即使在删除所有由npm init添加的新东西之后,– --save-dev仍然工作。

我有那里的-g标志,当我删除它,它按预期工作…

导航到JSON文件 – >右键单击属性 – >删除“只读”标志。

我的package.json中有一个语法错误,导致这个对我来说!

穆斯塔法ELBanna的答案帮助了我,但我想扩大他的答案像我这样的其他新手。 如果我错过了重要的事情,请纠正我。

如果删除了-g标志,则该模块不是全局安装在您的机器上,而是仅在您的项目中本地安装。 如果您还希望全局安装,请再次执行相同的命令,但现在使用-g代替--save-dev如下所示:

npm install --save-dev [packagename]

npm install -g [packagename]

在我看来,调用-g和 – 保存在一行时可能会出错。

但是,再次,我是新来的,我很欣赏任何人想改善/纠正我的答案。

对我来说,问题是我从记事本++复制命令,它可能有特殊的字符在那里,或者是空格,它不更新我的package.json。

如没有工作; npm install --save debug pug jwt-simple method-override mongoose

确保安装时,清理命令行,例如每个模块之间的空格,因为根据编码的不同,可能会有特殊的字符。

当我纠正它到这个工作。

npm install --save debug pug jwt-simple method-override mongoose

另外,请确保运行该命令时未在编辑器中打开package.json,因为并非所有编辑器都能正确处理。

在我使用了Express生成器之后,我用–s安装了一些软件包,但都没有添加到package.json中。

然后我删除了package.json并运行npm init,所有这些都不必再次安装

我有一个.npmrc文件,它使用内部的npm api来获取包。 我的问题是,我没有连接到我公司的VPN

我尝试了上述答案中的所有命令,但安装了npm-upgrade软件包却成功了。

npm i -g npm-upgrade然后npm-upgrade

我能解决这个问题的唯一方法是使用npm install --save-dev moduleName而不是npm install moduleName --save-dev 。 使用npm install moduleName --save对我来说工作正常。 只有当我使用--save-dev ,我必须把它放在moduleName之前。 我希望这可以帮助任何人。

我正在尝试使用“npm install –save grunt-sass”来安装gruntjs,但package.json不会更新

我做了上面提到的一切,但没有运气。 但有趣的是,如果我尝试添加一个包说“下划线(NPM安装 – 保存下划线)”儿子得到更新。 我不确定这是否是南美的问题。 我做了一个超级用户安装。