ben*_*lum 29 windows batch-file package node.js npm
我通过命令行全局安装了两个npm软件包"download"和"enigmavirtualbox":
npm install -g download 和
npm install -g engimavirtualbox
我正在尝试在批处理文件中使用它们来捆绑我的节点项目中的单个.exe文件.对于这两者,这些命令npm list -g <packagename>产生相应的版本输出,与当前工作目录无关.
但是,在我的批处理脚本中,找不到命令"download"和"enigmavirtualbox".
运行npm root -g产量C:\Users\<username>\AppData\Roaming\npm\node_modules并查看该文件夹内部我可以看到两个包的文件夹都存在.
我尝试过的:
npm root描述在这里C:\Users\<username>\AppData\Roaming\npm\node_modulesC:\Users\<username>\AppData\Roaming\npm\node_modules到PATH环境 变量我的第二台计算机上运行相同的设置(均运行Win7 64位).我的节点安装有问题,或者我做错了什么?
ben*_*lum 48
可执行二进制文件和.cmd文件最终C:\Users\<username>\AppData\Roaming\npm(减去node_modules末尾),因此将该路径添加到PATH环境中.变量修复了这个问题.
如果上述方法不起作用,请使用此命令显式设置路径
npm config set prefix c:/Users/<username>/AppData/Roaming/npm
Run Code Online (Sandbox Code Playgroud)
简短回答:添加%APPDATA%\npm到环境变量中PATH。
长答案:
npm 将.cmd当您从 npm 包执行命令时执行的文件(并且一切正常)保存在目录中C:\Users\%username%\AppData\Roaming\npm(%username%是当前用户的用户名)。
因为用户配置文件不一定位于内部,C:\Users所以最好使用变量,例如%userprofile%指向当前用户的用户配置文件或%APPDATA%指向AppData\Roaming当前用户的用户配置文件内部。
通过添加%APPDATA%\npm到PATH环境中。如果当前目录不包含具有该名称的文件,则变量 windows 会自动搜索具有您作为命令输入的名称的文件。
对于每个命令,npm 文件夹中还有一个不带后缀的文件,该文件是 bash 脚本,在 Windows 上不起作用(如果您不使用 bash),但 Windows 会.cmd首先找到该文件,因此您不必担心。
| 归档时间: |
|
| 查看次数: |
20264 次 |
| 最近记录: |