npm install packagename --save-dev 未更新 package.json
npm install packagename --save-dev not updating package.json
在 运行 a --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"
}
}
我确实在安装没有存储库字段或自述文件的软件包时收到警告,但我认为这无关紧要。
我也有这个问题,快把我逼疯了。
最终修复的是 运行 npm init
。这为我的 package.json 添加了一堆东西,但之后 --save-dev
按预期工作。即使在我删除了 npm init
添加的所有新内容后,--save-dev
仍然有效。
我的 package.json 中存在语法错误,导致我出现此问题!
我在那里有 -g 标志,当我删除它时,它按预期工作...
导航到 JSON 文件 -> 右键单击属性 -> 删除 "read only" 标志。
Mustafah ELBanna 的回答对我有帮助,但我想为像我这样的其他新手扩展他的回答。如果我遗漏了一些重要的事情,请纠正我。
如果您删除 -g
标志,则该模块不会在您的机器上全局安装,而只会在您的项目本地安装。如果您还希望它全局安装,请再次执行相同的命令,但现在使用 -g
而不是 --save-dev
,就像这样:
npm install --save-dev [packagename]
npm install -g [packagename]
在我看来,在一行中调用 -g
和 --save
时可能会出错。
不过,我还是个新手,我感谢任何想improve/correct回答我的人。
对我来说,问题是我从 notepad++ 复制了命令,它可能有特殊字符或者是空格,它没有更新我的 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 的软件包,其中 none 添加到 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
之前。我希望这对任何人都有帮助。
我正在尝试使用安装 gruntjs
"npm install --save grunt-sass" 但 package.json 不会更新
我做了上面提到的所有事情,但没有运气。但有趣的是,如果我尝试添加一个包说 "underscore (npm install --save underscore)" 儿子得到更新。我不确定这是否是 nam 本身的问题。我确实以超级用户身份安装。
您可能首先要检查您的配置(npm config ls
命令或 ~/.npmrc
文件)。
我有 link=true
.
在 5.5.1 版本中,当 --save 处于活动状态时,此选项似乎被忽略。
鉴于 --save-dev 取代了 --save,link 模式 是再次活跃
所以对我来说,事情的发生就好像 --save
覆盖了 --link
,后者又覆盖了 --save-dev
。
如果您打开了未保存的 package.json
,这可能会在 VSCode(或其他编辑器)中发生。
文件 实际上正在更新,但未在 IDE 中重新加载。
我想也许默认设置是仅在文件未经编辑时才重新加载?或者我可能点击了某些内容以忽略警告。
我遇到了同样的问题。当我安装一些包时,它没有显示在 package.json 上。所以我又删除了 package.json 文件和 运行 npm init 。之后它就可以工作了,我之前安装的包也在依赖项下。
我最近 运行 对此进行了研究,并发现无论出于何种原因,Atom 都在阻止文件更新,即使文件没有打开也是如此。
我关闭了编辑器,重新运行我的 npm 安装,再次打开编辑器,一切正常。
从 package.json 文件中的 devDependencies 中删除依赖项并仅使用 --save 再次安装对我有用
接受的答案仍然没有解决我的问题,然后我尝试更改语法位置
以前我使用以下命令将模块安装到 devDependencies
npm i --save-dev moduleName
然后我切换moduleName和--save-dev的位置,moduleName成功添加到package.json文件
npm i moduleName--save-dev
然后 package.json 文件更新为模块名称。
这件事发生在我的 Intellij 上
对于遇到此问题的任何其他人,您是否从现有项目复制了您的项目?
如果是这样,请关闭 Intellij 并删除 .idea
文件夹。 (你也可以删除node_modules
重新开始)
重新打开项目,问题就解决了。
我遇到了同样的问题,因为 nodemon
已经全局安装了。
我必须先卸载它
npm uninstall -g nodemon
然后在本地作为开发依赖安装它
npm install --save-dev nodemon
然后应该更新 package.json
文件。有时您的编辑器也可能会阻止文件更新,因此如果没有发生,请确保重新启动它。
只是想添加另一个可能的答案,证明是我的解决方案。
验证您是否位于 angular 项目的目录中。我不是,因此更改没有反映在我的 package.json 文件中。
如果您不是 运行 来自 package.json
目录的命令,就会发生这种情况。
如果您放置在文件夹 Project
而不是 Project\ClientApp
中,则会发生这种情况。
您会注意到,如果发生这种情况,您只会在错误的位置得到一个 package-lock.json
。
在 运行 a --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"
}
}
我确实在安装没有存储库字段或自述文件的软件包时收到警告,但我认为这无关紧要。
我也有这个问题,快把我逼疯了。
最终修复的是 运行 npm init
。这为我的 package.json 添加了一堆东西,但之后 --save-dev
按预期工作。即使在我删除了 npm init
添加的所有新内容后,--save-dev
仍然有效。
我的 package.json 中存在语法错误,导致我出现此问题!
我在那里有 -g 标志,当我删除它时,它按预期工作...
导航到 JSON 文件 -> 右键单击属性 -> 删除 "read only" 标志。
Mustafah ELBanna 的回答对我有帮助,但我想为像我这样的其他新手扩展他的回答。如果我遗漏了一些重要的事情,请纠正我。
如果您删除 -g
标志,则该模块不会在您的机器上全局安装,而只会在您的项目本地安装。如果您还希望它全局安装,请再次执行相同的命令,但现在使用 -g
而不是 --save-dev
,就像这样:
npm install --save-dev [packagename]
npm install -g [packagename]
在我看来,在一行中调用 -g
和 --save
时可能会出错。
不过,我还是个新手,我感谢任何想improve/correct回答我的人。
对我来说,问题是我从 notepad++ 复制了命令,它可能有特殊字符或者是空格,它没有更新我的 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 的软件包,其中 none 添加到 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
之前。我希望这对任何人都有帮助。
我正在尝试使用安装 gruntjs "npm install --save grunt-sass" 但 package.json 不会更新
我做了上面提到的所有事情,但没有运气。但有趣的是,如果我尝试添加一个包说 "underscore (npm install --save underscore)" 儿子得到更新。我不确定这是否是 nam 本身的问题。我确实以超级用户身份安装。
您可能首先要检查您的配置(npm config ls
命令或 ~/.npmrc
文件)。
我有 link=true
.
在 5.5.1 版本中,当 --save 处于活动状态时,此选项似乎被忽略。 鉴于 --save-dev 取代了 --save,link 模式 是再次活跃
所以对我来说,事情的发生就好像 --save
覆盖了 --link
,后者又覆盖了 --save-dev
。
如果您打开了未保存的 package.json
,这可能会在 VSCode(或其他编辑器)中发生。
文件 实际上正在更新,但未在 IDE 中重新加载。 我想也许默认设置是仅在文件未经编辑时才重新加载?或者我可能点击了某些内容以忽略警告。
我遇到了同样的问题。当我安装一些包时,它没有显示在 package.json 上。所以我又删除了 package.json 文件和 运行 npm init 。之后它就可以工作了,我之前安装的包也在依赖项下。
我最近 运行 对此进行了研究,并发现无论出于何种原因,Atom 都在阻止文件更新,即使文件没有打开也是如此。
我关闭了编辑器,重新运行我的 npm 安装,再次打开编辑器,一切正常。
从 package.json 文件中的 devDependencies 中删除依赖项并仅使用 --save 再次安装对我有用
接受的答案仍然没有解决我的问题,然后我尝试更改语法位置 以前我使用以下命令将模块安装到 devDependencies
npm i --save-dev moduleName
然后我切换moduleName和--save-dev的位置,moduleName成功添加到package.json文件
npm i moduleName--save-dev
然后 package.json 文件更新为模块名称。
这件事发生在我的 Intellij 上
对于遇到此问题的任何其他人,您是否从现有项目复制了您的项目?
如果是这样,请关闭 Intellij 并删除 .idea
文件夹。 (你也可以删除node_modules
重新开始)
重新打开项目,问题就解决了。
我遇到了同样的问题,因为 nodemon
已经全局安装了。
我必须先卸载它
npm uninstall -g nodemon
然后在本地作为开发依赖安装它
npm install --save-dev nodemon
然后应该更新 package.json
文件。有时您的编辑器也可能会阻止文件更新,因此如果没有发生,请确保重新启动它。
只是想添加另一个可能的答案,证明是我的解决方案。
验证您是否位于 angular 项目的目录中。我不是,因此更改没有反映在我的 package.json 文件中。
如果您不是 运行 来自 package.json
目录的命令,就会发生这种情况。
如果您放置在文件夹 Project
而不是 Project\ClientApp
中,则会发生这种情况。
您会注意到,如果发生这种情况,您只会在错误的位置得到一个 package-lock.json
。