如何解决'npm应该在节点repl之外运行,在你的普通shell'
我是node.js的新手 我从官方网站下载并安装了node.js安装程序。 我在PATH环境variables中添加了这个安装程序文件夹,我可以运行程序。 但是,当我尝试在节点控制台中使用npm安装一些软件包时,它显示错误npm should be run outside of the node repl, in your normal shell
。 我也试过在一个单独的控制台上。 但它显示命令没有find,虽然我已经在环境variables中添加节点。
最好使用nodejs.org中的实际(msi)安装程序,而不是仅下载节点可执行文件。 安装程序包含npm,并使您可以更轻松地pipe理您的节点安装。 有一个用于32位和64位Windows的安装程序。
还有一些其他的花絮:
-
全局安装模块并不能达到您所期望的。 您应该全局安装的唯一模块(npm中的
-g
标志)是安装命令的模块。 因此,要安装Express,您只需执行npm install express
,然后将Express安装到您当前的工作目录。 如果您正在寻找Express 项目生成器(命令) ,则需要为Express 4执行npm install -g express-generator
。 -
您可以在命令提示符的任何位置使用节点来执行脚本。 例如,如果你已经写了一个单独的脚本:
node foo.js
或者,您可以通过selectnode.js(开始菜单)快捷方式或通过在命令提示符下键入node
来打开REPL(就像您已经发现的那样)。
对于Windows用户,从命令提示符(cmd.exe)运行npm
命令,而不是Node.Js (node.exe)。 所以你的“正常shell”是cmd.exe 。 (我同意这个消息可能会混淆为Windows,节点新手。)
顺便说一句, Node.js命令提示符实际上只是一个简单的cmd.exe快捷方式。
以下是从cmd.exe安装grunt的示例截图:
不要使用node.js图标运行应用程序。
转到所有程序 – > Node.js-> Node.js命令提示符。
以下是示例屏幕截图。
如果您像我一样在没有pipe理权限的受限环境中运行,那意味着您唯一能够启动并运行节点的方法是在不使用安装程序的情况下获取可执行文件(node.exe)。 你也不能改变pathvariables,这使得它更具挑战性。
这是我做的( 对于Windows )
- 将node.exe放入它自己的文件夹( 单独下载node.exe)
- 从github获取NPM发行版zip: https : //github.com/npm/npm/releases
- 在node.exe文件夹中创build一个名为node_modules的文件夹
- 将NPM zip解压缩到node_modules文件夹中
- 确保最上面的文件夹被命名为npm(删除npm文件夹名称上的任何版本,例如:npm-2.12.1 – > npm)
- 将npm.cmd从npm / bin文件夹中复制到带有node.exe的最上面的文件夹中
- 打开node.exe目录的命令提示符(右键单击“在此打开命令窗口”)
- 现在你可以通过
npm install -g express
运行你的npm安装npm install -g express
通过npm运行安装程序现在将自动安装软件包(node_modules和root)
不要忘记,如果您没有适当的权限,您将无法设置pathvariables。 所以最好的方法是在node.exe目录下打开命令提示符(右键点击“在此打开命令窗口”)
正如mscdex所说,NPM自带了nodejs msi安装文件。 我碰巧只安装节点js安装程序(独立)。 按照以下步骤分别添加NPM I.
- 从这里下载最新的NPM的zip文件。
- 将其解压到与js安装程序相同的文件中。
- 如果您已经将包含节点js安装程序的目录添加到PATH envvariables,那么现在即使npm也应该是一个可识别的命令。
你只要打开命令提示符,然后进入c:/>('cd../../')
然后npm install -g cordova
你必须得到程序的目录path(程序文件中的node.js)。
如
并使用“npm install -g phonegap”
这很简单。 按下键盘上的Windows徽标。 然后,在search栏中inputnode.js命令提示符并运行它。