我试图发布npm包,当我全局安装包并尝试运行cli命令我得到这个错误:
/.nvm/versions/node/v0.12.2/bin/myPack: line 1: use strict: command not found /.nvm/versions/node/v0.12.2/bin/myPack: line 3: syntax error near unexpected token `(' /.nvm/versions/node/v0.12.2/bin/myPack: line 3: `var _commandLineArgs = require('command-line-args');'
错误引用的文件顶部:
'use strict'; var _commandLineArgs = require('command-line-args'); var _commandLineArgs2 = _interopRequireDefault(_commandLineArgs);
package.json bin部分:
"bin": { "myPack": "dist/myPack.js" }
当我在我的本地开发中运行它时效果很好,问题是什么?
你的脚本应该以shebang行开头,否则它将作为shell脚本执行(因此错误).
将此作为第一行添加到dist/myPack.js
:
#!/usr/bin/env node