发布npm,并在其他电脑上安装后有错误

然后安装在其他电脑上检查。 Bu安装后的包和它的依赖我试图启动时出现错误

pm ERR! Linux 4.10.0-38-generic npm ERR! argv "/home/pavlo/.nvm/versions/node/v6.11.4/bin/node" "/home/pavlo/.nvm/versions/node/v6.11.4/bin/npm" "start" "storjboard" npm ERR! node v6.11.4 npm ERR! npm v3.10.10 npm ERR! path /home/pavlo/Desktop/test/package.json npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall open npm ERR! enoent ENOENT: no such file or directory, open '/home/pavlo/Desktop/test/package.json' npm ERR! enoent ENOENT: no such file or directory, open '/home/pavlo/Desktop/test/package.json' npm ERR! enoent This is most likely not a problem with npm itself npm ERR! enoent and is related to npm not being able to find a file. npm ERR! enoent npm ERR! Please include the following file with any support request: npm ERR! /home/pavlo/Desktop/test/npm-debug.log 

问题是我必须从git克隆package.json,我如何正确发布package.json?

注意:命令在package.json脚本中启动

我的JSON发布:

 { "name": "name", "version": "0.0.3", "description": "Name", "main": "script.js", "dependencies": { "request": "^2.83.0", }, "devDependencies": {}, "scripts": { "test": "mocha", "start": "node node_modules/module/script.js" }, "repository": { "type": "git", "url": "https://github.com/me/module" }, "keywords": [ "somewords" ], "author": "me", "license": "MIT", "bugs": { "url": "https://github.com/me/module/issues" }, "homepage": "https://github.com/me/module#readme" } 

在其他PC上安装模块时发生错误(WARN)

 npm WARN enoent ENOENT: no such file or directory, open '/home/pavlo/Desktop/test/package.json' npm WARN test No description npm WARN test No repository field. npm WARN test No README data npm WARN test No license field. 

但在test/node_modules/module/(here there are everything)自述,JSON和脚本

如果你想能够从另一个目录启动你的模块,你可以这样做:

在你的模块package.json中

 { "name": "module", "scripts": { "start": "node script.js" } } 

从testing目录(如这个答案build议):

 npm start --prefix node_modules/module/ 

或者,您可以通过在您的testing目录中创build一个package.json文件并添加一个脚本来启动您的模块:

 { "name": "test", "scripts": { "start": "node node_modules/module/script.js" } } 

通常情况下npm包被放置在node_modules目录中,因为这些模块应该被用作依赖关系,而不是直接使用。

这取决于您的应用程序的目的,但也许您可能有兴趣做一个安装后的脚本或全球安装。

npm文件的软件包安装。