全局安装的NodeJS npm模块不执行节点的主/bin JavaScript文件
Globally-installed NodeJS npm module does not execute the main/bin JavaScript file with node
我有一个package.json
,如下所示:
{
"name": "some-module",
"version": "1.0.0",
"bin": "./bin/some-module.js",
"main": "./bin/some-module.js",
"description": "Some module description",
"homepage": "http://my.home.page.com",
"author": {
"name": "Matias Fidemraizer",
"email": "no-email@no-email.com",
"url": "http://some.url.com"
},
"engines": {
"node": ">=0.4.0"
},
"keywords": [
"somekeyword"
],
"license": {
"type": "Apache v2",
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
},
"preferGlobal": true,
"repository": {
"type": "git",
"url": "git://github.com/some/repo"
},
"dependencies": {
"somedependency": "*"
}
}
当我尝试安装键入npm -g install /path/to/module/folder
的整个模块时,npm会在默认node_modules
位置的AppData文件夹中创建一个.cmd
文件,以便按预期进行全局安装。
但生成的代码不包括node.exe
或node
:
"%~dp0'node_modules'some-module'bin'some-module.js" %*
因此,当我尝试在CMD、PowerShell或其他什么中执行some-module
模块时,它是使用Windows脚本主机(WSH)执行的。
出于这个原因,我认为比较一些现有模块(如YUIDocJS)的package.json
就足以找出导致这个问题的原因,但我无法找出我自己的package.json
中出了什么问题,因此它无法创建预期的全局安装。
提前感谢您的努力。
您的package.json
的bin
属性中引用的文件顶部是否有shebang #!/usr/bin/env node
?即使shebang是一个特定于*nix的指令,npm
也取决于它的存在来为.cmd
创建填充程序
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在Javascript中将JSon对象转换为数组
- Javascript生成的表单未提交
- 全局安装的NodeJS npm模块不执行节点的主/bin JavaScript文件
- 大学作业用JavaScript,创建一个JS Bin之类的东西