无法让 "npm install -g" 处理任何包(AppData/Roaming/npm 总是空的)
Cannot get "npm install -g" to work on any packages (AppData/Roaming/npm always empty)
运行 Windows 7 Enterprise 上的 nodejs 正在工作。
每当我安装需要 -g 访问权限的 node_module 时,根据经验我知道它应该在 %AppData$/Roaming/npm
中创建一个 *.bat 文件,但由于某种原因它不再这样做。
例如,我会运行 npm install gulp -g
,控制台看起来安装正确,但文件不会在 AppData 文件夹中。如果我尝试 运行ning gulp 命令,我会收到错误 sh.exe": gulp: command not found
.
如果我以管理员身份在控制台中 运行 npm install gulp -g
命令,它会将文件安装到管理员(而不是普通用户)的 %AppData% 文件夹中。因此,如果我通过我的非管理员用户 运行 gulp 命令,我仍然会收到错误 sh.exe": gulp: command not found
.
有什么想法吗?
找到解决方案:
(1) 在 运行 执行命令:npm config get prefix
后,输出为 C:\Program Files (x86)\Git\local
。不知道为什么设置为这个,因为它不是默认值。
但我使用以下方式更改了它:npm config set prefix "$APPDATA\npm"
。
现在,当我安装 --g 模块时,即。 npm install gulp -g
,它安装到这个理想的目录中,不再抛出 EPERM
和 ENOENT
错误。
(2) 仍然需要为 npm 文件夹添加一个 PATH
条目。命令 export PATH=$PATH:/c/Users/{YOUR_USERNAME}/AppData/Roaming/npm
暂时有效,但如果您关闭控制台并再次打开它,可能无法保存(如果您不是管理员)。
但您也可以使用 echo 'export PATH=$PATH:/c/Users/{YOUR_USERNAME}/AppData/Roaming/npm' >> ~/.bash_profile
,这将创建一个 .bash_profile
文件,每次打开控制台时,该文件都是 运行。所以从这一点来看,它应该会自动添加所需的 PATH
条目。
我也遇到了同样的问题。
安装后 node.js(https://nodejs.org/en/download/) npm 文件夹(在 appdata 文件夹中)保持为空。
所以,在这个阶段,如果你尝试 build/run angular project(ng build/ng serve),它会给出错误:
The term 'ng' is not recognized as the name of a cmdlet, function, script file, or operable program.
因此,为了解决这个问题,请使用以下命令在您的项目中全局安装 angular:
npm install -g @angular/cli
现在,npm 文件夹(节点模块等)中会有数据并且 ng 命令现在 运行。
运行 Windows 7 Enterprise 上的 nodejs 正在工作。
每当我安装需要 -g 访问权限的 node_module 时,根据经验我知道它应该在 %AppData$/Roaming/npm
中创建一个 *.bat 文件,但由于某种原因它不再这样做。
例如,我会运行 npm install gulp -g
,控制台看起来安装正确,但文件不会在 AppData 文件夹中。如果我尝试 运行ning gulp 命令,我会收到错误 sh.exe": gulp: command not found
.
如果我以管理员身份在控制台中 运行 npm install gulp -g
命令,它会将文件安装到管理员(而不是普通用户)的 %AppData% 文件夹中。因此,如果我通过我的非管理员用户 运行 gulp 命令,我仍然会收到错误 sh.exe": gulp: command not found
.
有什么想法吗?
找到解决方案:
(1) 在 运行 执行命令:npm config get prefix
后,输出为 C:\Program Files (x86)\Git\local
。不知道为什么设置为这个,因为它不是默认值。
但我使用以下方式更改了它:npm config set prefix "$APPDATA\npm"
。
现在,当我安装 --g 模块时,即。 npm install gulp -g
,它安装到这个理想的目录中,不再抛出 EPERM
和 ENOENT
错误。
(2) 仍然需要为 npm 文件夹添加一个 PATH
条目。命令 export PATH=$PATH:/c/Users/{YOUR_USERNAME}/AppData/Roaming/npm
暂时有效,但如果您关闭控制台并再次打开它,可能无法保存(如果您不是管理员)。
但您也可以使用 echo 'export PATH=$PATH:/c/Users/{YOUR_USERNAME}/AppData/Roaming/npm' >> ~/.bash_profile
,这将创建一个 .bash_profile
文件,每次打开控制台时,该文件都是 运行。所以从这一点来看,它应该会自动添加所需的 PATH
条目。
我也遇到了同样的问题。
安装后 node.js(https://nodejs.org/en/download/) npm 文件夹(在 appdata 文件夹中)保持为空。
所以,在这个阶段,如果你尝试 build/run angular project(ng build/ng serve),它会给出错误:
The term 'ng' is not recognized as the name of a cmdlet, function, script file, or operable program.
因此,为了解决这个问题,请使用以下命令在您的项目中全局安装 angular:
npm install -g @angular/cli
现在,npm 文件夹(节点模块等)中会有数据并且 ng 命令现在 运行。