我在安装全局 node 模块时遇到问题,我在网上找到的所有信息都表明,解决方案只是添加了-g.这不是问题所在.我认为这是一个链接问题或错误的目录问题.

以下是我的工作:

$ npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/mkdirp/0.3.3
...downloads correctly

$ express myapp
bash: express: command not found

但是,当我运行direct link location以表达时,它会起作用:

   $ /usr/local/share/npm/bin/express myapp

   create : myapp
   create : myapp/package.json
   create : myapp/app.js
... Builds app correctly

其中模块是:

$ which node
/usr/local/bin/node
$ node -pe process.execPath
/usr/local/Cellar/node/0.8.20/bin/node
$ npm link express
/Users/bentonrr/Development/Personal/node_modules/express -> /usr/local/share/npm/lib/node_modules/express

在我的.bash_简介我有:

export PATH=/usr/local/bin:$PATH
export NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node

我是否需要更改 node 环境才能下载到正确的文件夹?有什么链接不正确吗?我迷路了..

谢谢

其他规格:

$ node --version
v0.8.20
$ npm --version
1.2.11
$ brew --version
0.9.4
OSX Version 10.8.2

推荐答案

PATH中加$(npm get prefix)/bin(例如,在.bashrc中),如下所示:

echo "export PATH=$PATH:$(npm get prefix)/bin" >> ~/.bashrc

有关更多信息,请参见npm help npm:

全局模式:

您可以找到带有npm get prefixnpm config list | grep prefix的安装前缀.

Node.js相关问答推荐

如何使用updateMany()和Node.js的方法?

NX无法使用缓存运行根级脚本

如果非SQL函数在事务内部运行失败,PG-Promise事务会回滚吗?

我的 React + Express 应用程序不断向我的数组添加一个空对象

构建期间 Docker 容器中的 npm 安装失败

等待不在 Express.js 中处理 res.app.render

为什么要加密 CSRF 令牌?

看起来这段代码try GET 请求发送的值变为空白

每秒从套接字传来的数据有哪些存储方式?

如何从名字,中间名,姓氏中获取全名并在结果中搜索匹配?

使用Typescript 时我应该避免循环导入吗?

为什么我的react 表单不能正常工作?

Mongoose-更新嵌套数组

无法通过谷歌Electron 表格 api( node js)中的服务帐户访问写入

cURL 和 shell 任务

在Go中,编写非阻塞代码有意义吗?

Webpack TypeScript module.hot 不存在

Heroku + Node:找不到模块错误

使用 node.js 循环 JSON

路由后的 Node Express 4 中间件