1.0.0
1.0.1
并全局安装但未发布1.0.1
,但依赖项无法解析依赖关系只能从远程服务器解析吗?
模块项目:
{
"name": "my-module",
"version": "1.0.1",
...
}
在本地存储库上安装:
npm install --save
的package.json:
{
"name" : "my-project-test",
"version" : "0.0.1",
"dependencies" : {
"my-module": "1.0.1"
}
...
}
结果错误:
$ npm install
npm ERR! Linux 3.16.0-45-generic
npm ERR! argv "node" "/usr/bin/npm" "install"
npm ERR! node v0.12.7
npm ERR! npm v3.3.5
npm ERR! No compatible version found: my-module@1.0.1
npm ERR! Valid install targets:
npm ERR! ["1.0.0"]
npm ERR!
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! ./npm-debug.log
答案 0 :(得分:1)
您现在有多个依赖项安装:
npm i -g <name>
安装了此版本1.0.1
。1.0.0
上安装。Node.js尝试查找名称引用的模块的顺序如下:
node_modules
的目录。node_modules
文件夹的每个级别。require.paths
数组中列出的目录路径。您的全局node_modules
目录位于第4个列表项中;在本地node_modules
目录之后很久。意味着您的程序在安装的本地依赖项处停止。
节点识别出本地安装了版本1.0.0
,并指出错误。请注意包含No compatible version found: my-module@1.0.1
的块。这是因为您package.json
拥有1.0.1
。一旦Node找到旧版本,查找就不会继续,因此要么升级本地安装,要么从Node的方式中删除它。
要删除它,请在项目目录中使用npm uninstall <name>
,以便从Node的方式中删除对版本1.0.0
的依赖性,从而强制它查找全局目录。< / p>
来源(非常推荐阅读!):