Javascript 为什么是;npm安装“;当我';您是否已经指出了更高版本的NodeJS?
我想在我的NodeJS项目中实施NodeJS和NPM的精确版本。这是my package.json:Javascript 为什么是;npm安装“;当我';您是否已经指出了更高版本的NodeJS?,javascript,node.js,npm,node-modules,Javascript,Node.js,Npm,Node Modules,我想在我的NodeJS项目中实施NodeJS和NPM的精确版本。这是my package.json: { "name": "nodesandbox", "version": "0.0.1", "dependencies": { "less": "*" }, "engines": { "node": "0.10.25" } } 当我运行nvm ls时,我得到以下输出: v0.2.6 v0.7.12 v0.9.6 v0.10.12
{
"name": "nodesandbox",
"version": "0.0.1",
"dependencies": {
"less": "*"
},
"engines": {
"node": "0.10.25"
}
}
当我运行nvm ls
时,我得到以下输出:
v0.2.6
v0.7.12
v0.9.6
v0.10.12
v0.10.15
v0.10.21
current: v0.10.24
当我运行npm install
时,它工作正常,但我希望它失败。我已经按照这个链接[1]中的说明进行了操作,这就是为什么我认为在engines对象中设置节点版本应该有效,但遗憾的是它不起作用
[1] 看起来只有在从其他位置获取包时才会检查
引擎的依赖关系:
[timwolla@/tmp/test2]npm install ../test
npm WARN engine nodesandbox@0.0.1: wanted: {"node":"0.10.30"} (current: {"node":"v0.10.26","npm":"1.4.3"})
如果enginestrct
设置为true:
[timwolla@/tmp/test2]npm install ../test
npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your version of node/npm: nodesandbox@0.0.1
npm ERR! notsup Required: {"node":"0.10.30"}
npm ERR! notsup Actual: {"npm":"1.4.3","node":"v0.10.26"}
如果你仔细阅读,你可能会明白为什么(实际上我不是100%确定):
比较
npm安装
(在包目录中,无参数):
在本地节点\模块文件夹中安装依赖项
与
npm安装
:
安装文件系统文件夹中的软件包
第一个声明安装依赖项,而第二个声明安装包。我也这么怀疑,但希望不是这样。你知道我如何在我自己的项目中实施这个版本吗?@190290000鲁伯曼,你知道你的环境,我认为这不是问题。否则:使用目录(或存储库)并从那里安装npm安装
没有任何其他内容,我只与开发相关。是的,也许我是在重复这一点。事实上,我们在同一个项目上有多个开发人员,所以我们有办法强制我们都使用同一个版本的节点。只要它们不是石器时代的。我自己甚至从0.8.x一小步升级到0.10.26,一点问题都没有。@190290000鲁伯曼问得很好。我的处境和你一样。我想强制执行Node的特定版本,因为其他人的包与Node的最新版本不兼容,并破坏了我的DEP