Node.js 我只能全局安装npm包
这是我尝试使用常规安装拉取软件包:Node.js 我只能全局安装npm包,node.js,windows,Node.js,Windows,这是我尝试使用常规安装拉取软件包: PS C:\temp> npm install aws-sam-local > aws-sam-local@0.2.4 postinstall C:\temp\node_modules\aws-sam-local > go-npm install Downloading from URL: https://github.com/awslabs/aws-sam-local/releases/download/v0.2.4/sam_0.2.4
PS C:\temp> npm install aws-sam-local
> aws-sam-local@0.2.4 postinstall C:\temp\node_modules\aws-sam-local
> go-npm install
Downloading from URL: https://github.com/awslabs/aws-sam-local/releases/download/v0.2.4/sam_0.2.4_windows_amd64.tar.gz
fs.js:766
return binding.rename(pathModule._makeLong(oldPath),
^
Error: ENOENT: no such file or directory, rename 'C:\temp\node_modules\aws-sam-local\bin\sam.exe' -> 'C:\temp\node_modul
es\aws-sam-local\node_modules\.bin\sam.exe'
at Object.fs.renameSync (fs.js:766:18)
at C:\temp\node_modules\go-npm\bin\index.js:62:12
at C:\temp\node_modules\go-npm\bin\index.js:51:9
at ChildProcess.exithandler (child_process.js:267:7)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Socket.stream.socket.on (internal/child_process.js:346:11)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
npm WARN enoent ENOENT: no such file or directory, open 'C:\temp\package.json'
npm WARN temp No description
npm WARN temp No repository field.
npm WARN temp No README data
npm WARN temp No license field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! aws-sam-local@0.2.4 postinstall: `go-npm install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the aws-sam-local@0.2.4 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\meee\AppData\Roaming\npm-cache\_logs\2018-01-19T16_14_18_418Z-debug.log
全球:
PS C:\temp> npm install --global aws-sam-local
> aws-sam-local@0.2.4 postinstall C:\Users\meee\AppData\Roaming\npm\node_modules\aws-sam-local
> go-npm install
Downloading from URL: https://github.com/awslabs/aws-sam-local/releases/download/v0.2.4/sam_0.2.4_windows_amd64.tar.gz
+ aws-sam-local@0.2.4
added 72 packages in 48.359s
为什么会出现此问题?我如何将此包拉到所有用户都可以访问的特定文件夹?我想我有些困惑的是,global在这里的意思是什么,因为它仍在将它安装到我用户的文件夹中。您没有package.json:没有这样的文件或目录,请打开“C:\temp\package.json”
要在本地安装软件包,您需要在工作目录中有一个package.json来跟踪您的本地依赖关系。您可以使用创建package.json
阅读以了解全球和本地软件包:
全局-这会将模块放入{prefix}/lib/node_模块中,并将
{prefix}/bin中的可执行文件,其中{prefix}通常是
比如/usr/local。如果需要,它还会在{prefix}/share/man中安装手册页
它们是供应的
本地-这将在当前位置安装程序包
工作目录。节点模块进入。/Node_模块、可执行文件进入
在./node_modules/.bin/中,根本没有安装手册页
而且
编辑:
使用npm list-g-depth=0列出所有全局包
应与npm安装一起在全球范围内安装-g aws sam local
和
没有这样的文件或目录,打开“C:\temp\package.json”可能是因为这个原因?那么为什么全局工作呢?我不明白有什么区别,在windows上我的global package.json在哪里?是的,但我假设有一些global package.json,这就是global命令没有失败的原因?全局包配置在哪里?如果我进入我的全局位置C:\Users\mee\AppData\Roaming\npm,我会看到每个模块的单独package.json文件。全局如何为我创建这些,但非全局运行命令却不能?全局自动化运行npm init的过程吗?嗯。好问题。我搜索了很多,但找不到关于npm如何跟踪全球软件包的更多信息。