我已经通过他们网页上的安装程序安装了Node.js,并将它的路径添加到我的环境变量中,这样我就可以通过命令行使用node和npm。如果我制作了一个express应用程序,它可以工作,但我必须手动创建它。
我想这很好,但是我想知道为什么我不能使用express命令?我得到了
`express` is not recognized as an internal or external command, operable program or batch file.我注意到express安装在C:\Program Files\Nodejs\node_modules中,而不是我预想的位置。这是一个问题吗?
发布于 2012-07-26 14:44:47
虽然这不一定是一个问题,但它很烦人,而且,即使您可以绕过它,and错误也是一个错误。
尽管您可以引用其他节点模块,即使它们不在节点目录中,但据我所知,node要求模块必须位于Nodejs目录下的node_modules文件夹中,以便自动找到它们。(我在osx上也遇到过类似的问题,这个方法解决了它。)
尝试移动的内容
进入C:\Program Files\Nodejs\node_modules\的C:\Username\node_modules
Alternatively,
您还可以使用以下命令全局安装模块:
npm install express -g这允许你不必担心你的节点目录就可以访问它们,尽管它们更难管理,并且“如果你可以的话,你应该尽量避免”。
来自Node博客:
就像全局变量很粗糙,但在某些情况下也是必要的,全局包很重要,但如果不需要的话,最好避免使用。
一般来说,经验法则是:
如果你正在安装一些你想在你的程序中使用的东西,使用require(‘无论什么’),然后在本地安装它,在你的项目的根目录下。如果您要在shell中安装您想要使用的东西,请在命令行或其他地方全局安装它,以便它的二进制文件最终包含在您的PATH环境变量中。
资源
https://stackoverflow.com/questions/11663590
复制相似问题