安装了全局 NPM 包但找不到命令
Global NPM package installed but command not found
我已经通过命令行全局安装了两个 npm 包 "download" and "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
here
- 卸载并重新安装包
- 添加环境。变量 NODE_PATH 指向
C:\Users\<username>\AppData\Roaming\npm\node_modules
- 将
C:\Users\<username>\AppData\Roaming\npm\node_modules
添加到 PATH 环境。变量
相同的设置适用于我的第二台计算机(均为 运行 Win7 64 位)。是我的节点安装有问题,还是我做错了什么?
可执行二进制文件和 .cmd 文件最终位于 C:\Users\<username>\AppData\Roaming\npm
(减去末尾的 node_modules
),因此将该路径添加到 PATH 环境中。变量修复了问题。
有了环境变量,路径可以简写:%appdata\npm
.
如果上述方法不起作用则使用此命令显式设置路径
npm config set prefix c:/Users/<username>/AppData/Roaming/npm
这里有关于这个主题的更多信息:https://medium.com/@alberto.schiabel/npm-tricks-part-1-get-list-of-globally-installed-packages-39a240347ef0
全局安装包列表
npm list -g --depth 0
将您的 PATH
环境变量设置为 C:\Users\YOUR_USERNAME\AppData\Roaming\npm
。这为我修好了。
对于仍然遇到缺少命令问题的任何人。我已经处理这个问题几个星期了,几乎放弃了在 windows 上发展的希望。然后 运行 npm config list
发现了这个:
; userconfig C:\Users\deane\.npmrc
bin-links = false
需要将其更改为 true。即使卸载并重新安装也无济于事,因为它会保留您的 .npmrc 文件。
只需运行这个命令
SET PATH=%AppData%\npm;%PATH%
简答:将 %APPDATA%\npm
添加到 PATH
环境变量。
长答案:
npm 将 .cmd
文件保存在 C:\Users\%username%\AppData\Roaming\npm
目录(%username%
是当前用户名用户)。
因为用户配置文件不一定在 C:\Users
内部,所以最好使用 %userprofile%
之类的变量,它指向当前用户的用户配置文件,或者 %APPDATA%
指向 AppData\Roaming
当前用户的用户配置文件。
通过将 %APPDATA%\npm
添加到 PATH
环境。如果当前目录不包含具有该名称的文件,变量 windows 会自动在那里搜索具有您作为命令输入的名称的文件。
对于每个命令,npm 文件夹中还有一个没有后缀的文件,它是一个 bash 脚本,不会在 Windows 上工作(如果你不使用 bash)但 Windows 首先找到 .cmd
文件,因此您不必担心。
我已经通过命令行全局安装了两个 npm 包 "download" and "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
here - 卸载并重新安装包
- 添加环境。变量 NODE_PATH 指向
C:\Users\<username>\AppData\Roaming\npm\node_modules
- 将
C:\Users\<username>\AppData\Roaming\npm\node_modules
添加到 PATH 环境。变量
相同的设置适用于我的第二台计算机(均为 运行 Win7 64 位)。是我的节点安装有问题,还是我做错了什么?
可执行二进制文件和 .cmd 文件最终位于 C:\Users\<username>\AppData\Roaming\npm
(减去末尾的 node_modules
),因此将该路径添加到 PATH 环境中。变量修复了问题。
有了环境变量,路径可以简写:%appdata\npm
.
如果上述方法不起作用则使用此命令显式设置路径
npm config set prefix c:/Users/<username>/AppData/Roaming/npm
这里有关于这个主题的更多信息:https://medium.com/@alberto.schiabel/npm-tricks-part-1-get-list-of-globally-installed-packages-39a240347ef0
全局安装包列表
npm list -g --depth 0
将您的 PATH
环境变量设置为 C:\Users\YOUR_USERNAME\AppData\Roaming\npm
。这为我修好了。
对于仍然遇到缺少命令问题的任何人。我已经处理这个问题几个星期了,几乎放弃了在 windows 上发展的希望。然后 运行 npm config list
发现了这个:
; userconfig C:\Users\deane\.npmrc
bin-links = false
需要将其更改为 true。即使卸载并重新安装也无济于事,因为它会保留您的 .npmrc 文件。
只需运行这个命令
SET PATH=%AppData%\npm;%PATH%
简答:将 %APPDATA%\npm
添加到 PATH
环境变量。
长答案:
npm 将 .cmd
文件保存在 C:\Users\%username%\AppData\Roaming\npm
目录(%username%
是当前用户名用户)。
因为用户配置文件不一定在 C:\Users
内部,所以最好使用 %userprofile%
之类的变量,它指向当前用户的用户配置文件,或者 %APPDATA%
指向 AppData\Roaming
当前用户的用户配置文件。
通过将 %APPDATA%\npm
添加到 PATH
环境。如果当前目录不包含具有该名称的文件,变量 windows 会自动在那里搜索具有您作为命令输入的名称的文件。
对于每个命令,npm 文件夹中还有一个没有后缀的文件,它是一个 bash 脚本,不会在 Windows 上工作(如果你不使用 bash)但 Windows 首先找到 .cmd
文件,因此您不必担心。