今天我升级了npm和节点。我分别在1.4.9和0.10.28。 (OSX 10.9.2。)
从那时起,似乎npm install是写"坏"我所有依赖项的package.json文件。
具体来说,将sevaral字段放入源repo 的package.json中似乎不存在的文件中。
就像这个例子。我有大约40个dev依赖项,它们都有这个垃圾(不是为了选择gulp,我只是碰巧抓住了这个例子):
"readme": "<p align=\"center\">\n <a href=\"http...",
"readmeFilename": "README.md",
"bugs": {
"url": "https://github.com/gulpjs/gulp/issues"
},
"_id": "gulp@3.6.2",
"_shasum": "ea6b33d768db4a22294fa6339afb61842f5e6fb5",
"_from": "gulp@~3.6.2",
"_resolved": "https://registry.npmjs.org/gulp/-/gulp-3.6.2.tgz"
这些是在package.json对象的根目录下。请注意,我已经缩写了自述文件 - 它是自述文件的整个HTML版本,并且在许多文件中没有被正确转义,从而使得package.json无效且无法使用。
显然这让我在水中死了。我的问题是&#34;我做了什么&#34;?我该如何撤消呢?我最终找到了我不应该拥有的NPM版本吗?我的项目,节点安装或其他环境可能会导致其他问题吗?我确实在0.11系列中有nave和一个节点版本,但是它没有激活并且还没有出现在最近的历史中 - npm update -g npm发现我在不同的目录中有0.11并把我跳进了我不应该去的地方?如果是这样,我该怎么回去?我已经尝试过npm安装npm回到早期版本但是npm仍然报告更高的版本号,好像我的安装没有发生,我无法弄清楚我的版本是什么无论如何应该有。
我到目前为止所尝试的内容 - 重新安装node和npm,消除我的node_modules以及npm cache clean。似乎没有任何效果。我很乐意回答有关环境的任何问题,这些问题可能有助于我解决这个问题。
TIA!
答案 0 :(得分:0)
我只是盲目地探索了解决方案。
(虽然我怀疑它没关系,我升级到npm的master
分支代码)
我相信我通过尝试在long = false
文件中设置.npmrc
来解决此问题。 package.json文件中没有更多的自述文件! :)
除此之外:我看到的package.json内容在我的安排中对我来说很陌生,但我想这可能是在更新版本上的功能。
至少,package.json现在是有效的json,生活再好一点。我不会接受这个,我自己的答案,因为我希望有人可以告诉我为什么我需要这样做。据我所知,这是我的.npmrc文件中的覆盖,所以看起来很奇怪,我需要根据没有文档手动添加这个覆盖....
如果有这样的答案,我会接受一个答案,指出我对发生的事情或可能发生的事情的解释!如果没有,我将接受我自己的答案,以便关闭SO问题循环。谢谢!