Javascript 为什么是;npm安装“;当我';您是否已经指出了更高版本的NodeJS?

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

我想在我的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
  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