Var*_*ova 4 node.js npm package.json
难以google the subj - 太多的用户问题,我的是关于包开发.我希望我的软件包的用户在全局安装时看到"npm WARN prefer global".
我以为npm install yo曾经有过这样的警告,但现在却没有.至少我看不到它.
我的环境:
  › npm --version
1.4.10
  › node -v
v0.10.28
mkl*_*nt0 10
奔财富的回答指定了如何与NPM包作者可以指定一个包作为宁愿全球安装(通过添加键值对"preferGlobal": true的package.json文件).
可悲的是,正如OP自己在评论中指出的那样,这还不足以始终触发用户在本地安装此类软件包的警告.
从npm 2.3.0开始,使用npm install <pkgName>(即不使用-g)本地安装全局安装首选软件包时的行为如下:
该警告- npm WARN prefer global <pkgName>@<ver> should be installed with -g-是唯一的触发,如果:
package.json文件,dependencies和/或optionalDependencies键,其值是一个对象(无论是否为空) - 除非手头的包恰好包含在其中.实际上,这意味着在以下场景中运行时npm install <pkgName>(即没有-g),您将看不到警告:
package.json文件).dependencies和/或optionalDependencies键 - 相反,键devDependencies和/或peerDependencies单独不会触发警告).pkgName已经安装为(通过定义本地)运行时依赖项(在key dependencies或中optionalDependencies).请注意,即使--loglevel silly不改变此行为,因此目前无法强制无条件显示警告.
将包指定为全局确实具有一个无条件的副作用,但是:在npm注册表(http://npmjs.com)中,右侧边栏中显示的安装命令是这样的包npm install <pkgName> -g; 即它确实包括-g.
[ 更新:此功能已经破了一段时间,截至2015年9月14日仍然存在 - 请参阅 https://github.com/npm/newww/issues/1017 ]
| 归档时间: | 
 | 
| 查看次数: | 4546 次 | 
| 最近记录: |