我写了一个模块,我刚刚发布到npm(https://npmjs.org/package/wisp)
所以它从命令行安装很好:
$ npm i -g wisp
但是,当我从命令行运行它时,我一直收到一个错误,即没有安装optimist:
$ wisp
Error: Cannot find module 'optimist'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:12:10)
at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:96:4)
at Module._compile (module.js:449:26)
at Object.exports.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:68:25)
at compileScript (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:135:29)
at fs.stat.notSources.(anonymous function) (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:110:18)
Run Code Online (Sandbox Code Playgroud)
但是,我在package.json中指定为依赖:
{
"name": "wisp",
"author": "Brendan Scarvell <bscarvell@gmail.com>",
"version": "0.1.0",
"description": "Global nodejs file server",
"dependencies": {
"optimist": "~0.3.4"
},
"repository": "git://github.com/tehlulz/wisp",
"bin": {
"wisp" : "./wisp"
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道怎么做才能让这个运行?我知道它与bin部分有关,将可执行文件添加到bin并且该目录中的node_modules为空.不知道如何解决这个问题.
我在OSX上使用NVM作为我的节点版本管理器,除了它在我的IDE中产生多个问题之外,这很棒.我正在使用Sublime Text,我使用过的大多数插件都在寻找nodejs,/usr/local/bin因为我使用NVM节点显然在该位置不可用,而是可以在/Users/${User}/.nvm/${NodeVersion}/bin/node.
我可以选择在该插件的配置中更新nodejs的路径,但是当我安装另一个插件时,我必须做同样的事情.同样适用于使用CoffeeScript,LESScss等.
此外,当我通过NVM更新我的节点版本时,我必须再次更新所有配置中的路径.在尝试为我解决问题时,NVM基本上创造了更多问题.
更新:
很长一段时间后,我终于使用isaacs辉煌的解决方案 - nave解决了这个问题.这个nave usemain stable命令,足以让你理解你的情绪:)
我一直在使用 node 和 npm。但是,现在,当 do command shift p, Tasks: Run task, 时npm build,我收到此错误消息:
执行任务:npm install <
/bin/bash: npm: command not found 终端进程以退出代码终止:127
终端将被任务重用,按任意键关闭它。
在终端中,node 和 npm 工作正常。我什至尝试跑步/bin/bash; node -v,效果很好。