簡體   English   中英

全局安裝的NodeJS npm模塊不會使用節點執行main / 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/foldernpm會在默認node_modules位置的AppData文件夾上創建一個.cmd文件,以便按預期進行全局安裝。

但生成的代碼不包含node.exenode

"%~dp0\node_modules\some-module\bin\some-module.js"   %*

...所以當我嘗試在CMD,PowerShell或其他任何地方執行我的some-module模塊時,它是使用Windows腳本宿主(WSH)執行的。

出於這個原因,我認為比較一些像YUIDocJS這樣的現有模塊的package.json就足以找出造成這個問題的原因但是我無法弄清楚我自己的package.json什么問題所以它不能創建預期的全局安裝。

提前感謝您的努力。

你是否在package.jsonbin屬性中引用的文件頂部有shebang #!/usr/bin/env node 即使shebang是* nix特定指令, npm 依賴於它的存在來為.cmd創建墊片

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM