1111mp / nvm-desktop

Node Version Manager Desktop - A desktop application to manage multiple active node.js versions.
https://github.com/1111mp/nvm-desktop
MIT License
675 stars 34 forks source link

2.5.0.0全局包不生效 #24

Closed yangcore closed 9 months ago

yangcore commented 9 months ago

2.5.0.0全局包不生效 image image image

1111mp commented 9 months ago

方便把全局安装的包的名称发给我吗 然后在运行npm install -g命令时终端有报错吗

yangcore commented 9 months ago

方便把全局安装的包的名称发给我吗 然后在运行npm install -g命令时终端有报错吗

安装没有报错,这个包是我们自己封装的,再公司私有库里面的,外网访问不了,这个是那个包的入口文件 image

yangcore commented 9 months ago

方便把全局安装的包的名称发给我吗 然后在运行npm install -g命令时终端有报错吗

安装没有报错,这个包是我们自己封装的,再公司私有库里面的,外网访问不了,这个是那个包的入口文件 image

image

yangcore commented 9 months ago

方便把全局安装的包的名称发给我吗 然后在运行npm install -g命令时终端有报错吗 我刚刚尝试全局安装了下 @vue/cli也是在bin文件夹没有出现可执行命令 image image

1111mp commented 9 months ago

我本地测试了一下10.21.0版本 应该不是版本低的问题

用管理员权限打开终端再执行npm install @vue/cli -g试试呢

终端输入 nvmd -h 正常吗

yangcore commented 9 months ago

我本地测试了一下10.21.0版本 应该不是版本低的问题

用管理员权限打开终端再执行npm install @vue/cli -g试试呢

终端输入 nvmd -h 正常吗

nvmd -h正常的,管理员权限安装也不好使,在bin文件夹内还是没有出现执行文件入口

1111mp commented 9 months ago

这就很奇怪了

运行npm root -g输出什么

该目录下有@vue/cli文件吗 比如versions\10.21.0\node_modules\@vue\cli,包文件下的package.json文件有吗

因为nvmd内部拦截npm install -g 命令 在其安装成功之后去解析versions\10.21.0\node_modules\@vue\cli\package.json文件的bin选项,收集入口vue,然后将依赖关系写入到.nvmd\bin\packages.json文件并同时往.nvmd\bin下添加vue.exe vue.cmd的垫片

但是如果是代码逻辑有误 我本地测试肯定也会出问题 所以在想是不是因为网络问题文件不完整 或者 安装路径错误等 不过感觉跟系统的权限有关 安装nvm-desktop时是否选中为所有用户安装 然后.nvmd文件默认是在%HOMEPATH%\.nvmd目录,比如c:users\username\.nvmd 如果当前登录的用户不是之前安装运行的用户 那么很可能是因为权限问题 导致写入文件失败

yangcore commented 9 months ago

这就很奇怪了

运行npm root -g输出什么

该目录下有@vue/cli文件吗 比如versions\10.21.0\node_modules\@vue\cli,包文件下的package.json文件有吗

因为nvmd内部拦截npm install -g 命令 在其安装成功之后去解析versions\10.21.0\node_modules\@vue\cli\package.json文件的bin选项,收集入口vue,然后将依赖关系写入到.nvmd\bin\packages.json文件并同时往.nvmd\bin下添加vue.exe vue.cmd的垫片

但是如果是代码逻辑有误 我本地测试肯定也会出问题 所以在想是不是因为网络问题文件不完整 或者 安装路径错误等 不过感觉跟系统的权限有关 安装nvm-desktop时是否选中为所有用户安装 然后.nvmd文件默认是在%HOMEPATH%\.nvmd目录,比如c:users\username\.nvmd 如果当前登录的用户不是之前安装运行的用户 那么很可能是因为权限问题 导致写入文件失败

感谢解答,我大概知道为什么了,因为公司电脑对json文件有加密,只能通过几个白名单内exe文件名去进行访问json,大概是因为这个原因无法访问到package.json文件才导致垫片加载失败的