无法使用NPM

问题描述 投票:0回答:1

我遵循了安装指南,但仍然不起作用。 我无法弄清楚我在做什么错。 我这样做的时候Nonode-gyt重建正常。

欢迎任何启蒙运动

OS:Win7

Console:

C:\TRIVIA>npm install oracle npm WARN package.json [email protected] No repository field. npm WARN package.json [email protected] No README data > [email protected] install C:\TRIVIA\node_modules\oracle > node-gyp rebuild C:\TRIVIA\node_modules\oracle>node "C:\Program Files (x86)\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) não era esperado nesta altura. gyp: Call to 'IF DEFINED OCI_VERSION (echo %OCI_VERSION%) ELSE (echo 11)' returned exit status 1. gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:337:16) gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17) gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:797:12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "node" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\TRIVIA\node_modules\oracle gyp ERR! node -v v0.10.25 gyp ERR! node-gyp -v v0.12.2 gyp ERR! not ok npm ERR! [email protected] install: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] install script. npm ERR! This is most likely a problem with the oracle package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! You can get their info via: npm ERR! npm owner ls oracle npm ERR! There is likely additional logging output above. npm ERR! System Windows_NT 6.1.7601 npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "oracle" npm ERR! cwd C:\TRIVIA npm ERR! node -v v0.10.25 npm ERR! npm -v 1.3.24 npm ERR! code ELIFECYCLE npm ERR! npm ERR! Additional logging details can be found in: npm ERR! C:\TRIVIA\npm-debug.log npm ERR! not ok code 0

NPM-Debug.log

0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Program Files (x86)\\nodejs\\\\node.exe', 1 verbose cli 'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'install', 1 verbose cli 'oracle' ] 2 info using [email protected] 3 info using [email protected] 4 verbose node symlink C:\Program Files (x86)\nodejs\\node.exe 5 warn package.json [email protected] No repository field. 6 warn package.json [email protected] No README data 7 verbose readDependencies using package.json deps 8 verbose cache add [ 'oracle', null ] 9 verbose cache add name=undefined spec="oracle" args=["oracle",null] 10 verbose parsed url { protocol: null, 10 verbose parsed url slashes: null, 10 verbose parsed url auth: null, 10 verbose parsed url host: null, 10 verbose parsed url port: null, 10 verbose parsed url hostname: null, 10 verbose parsed url hash: null, 10 verbose parsed url search: null, 10 verbose parsed url query: null, 10 verbose parsed url pathname: 'oracle', 10 verbose parsed url path: 'oracle', 10 verbose parsed url href: 'oracle' } 11 silly lockFile 431364b6-oracle oracle 12 verbose lock oracle C:\Users\Mezzarine\AppData\Roaming\npm-cache\431364b6-oracle.lock 13 silly lockFile 431364b6-oracle oracle 14 silly lockFile 431364b6-oracle oracle 15 verbose addNamed [ 'oracle', '' ] 16 verbose addNamed [ null, '*' ] 17 silly lockFile a4fb3172-oracle oracle@ 18 verbose lock oracle@ C:\Users\Mezzarine\AppData\Roaming\npm-cache\a4fb3172-oracle.lock 19 silly addNameRange { name: 'oracle', range: '*', hasData: false } 20 verbose url raw oracle 21 verbose url resolving [ 'https://registry.npmjs.org/', './oracle' ] 22 verbose url resolved https://registry.npmjs.org/oracle 23 info trying registry request attempt 1 at 01:31:30 24 verbose etag "326N682G60LOHGMDDUJYO7S2" 25 http GET https://registry.npmjs.org/oracle 26 http 304 https://registry.npmjs.org/oracle 27 silly registry.get cb [ 304, 27 silly registry.get { date: 'Wed, 19 Feb 2014 01:31:27 GMT', 27 silly registry.get server: 'Apache', 27 silly registry.get connection: 'Keep-Alive', 27 silly registry.get 'keep-alive': 'timeout=10, max=50', 27 silly registry.get etag: '"326N682G60LOHGMDDUJYO7S2"', 27 silly registry.get 'cache-control': 'max-age=1', 27 silly registry.get vary: 'Accept' } ] 28 verbose etag oracle from cache 29 silly addNameRange number 2 { name: 'oracle', range: '*', hasData: true } 30 silly addNameRange versions [ 'oracle', 30 silly addNameRange [ '0.1.0', 30 silly addNameRange '0.1.1', 30 silly addNameRange '0.1.2', 30 silly addNameRange '0.1.3', 30 silly addNameRange '0.2.0', 30 silly addNameRange '0.3.0', 30 silly addNameRange '0.3.1', 30 silly addNameRange '0.3.2', 30 silly addNameRange '0.3.3', 30 silly addNameRange '0.3.4', 30 silly addNameRange '0.3.5', 30 silly addNameRange '0.3.6' ] ] 31 verbose addNamed [ 'oracle', '0.3.6' ] 32 verbose addNamed [ '0.3.6', '0.3.6' ] 33 silly lockFile 57fab89f-oracle-0-3-6 [email protected] 34 verbose lock [email protected] C:\Users\Mezzarine\AppData\Roaming\npm-cache\57fab89f-oracle-0-3-6.lock 35 silly lockFile 57fab89f-oracle-0-3-6 [email protected] 36 silly lockFile 57fab89f-oracle-0-3-6 [email protected] 37 silly lockFile a4fb3172-oracle oracle@ 38 silly lockFile a4fb3172-oracle oracle@ 39 silly resolved [ { name: 'oracle', 39 silly resolved description: 'Oracle database driver', 39 silly resolved keywords: [ 'database', 'db', 'oracle' ], 39 silly resolved homepage: 'https://github.com/joeferner/node-oracle', 39 silly resolved license: 'MIT', 39 silly resolved version: '0.3.6', 39 silly resolved engines: { node: '>=0.6.0' }, 39 silly resolved maintainers: [ [Object], [Object], [Object] ], 39 silly resolved bugs: { url: 'https://github.com/joeferner/node-oracle/issues' }, 39 silly resolved repository: 39 silly resolved { type: 'git', 39 silly resolved url: 'git://github.com/joeferner/node-oracle.git' }, 39 silly resolved dependencies: {}, 39 silly resolved devDependencies: { nodeunit: '~>0.8.0' }, 39 silly resolved scripts: 39 silly resolved { test: 'nodeunit test/integration.js test/outparams.js', 39 silly resolved install: 'node-gyp rebuild' }, 39 silly resolved main: './index.js', 39 silly resolved gypfile: true, 39 silly resolved readme: '# Oracle driver for Node.js\n\nA driver to connect to an Oracle database from node.js, leveraging the "Oracle C++ Call Interface" (OCCI)\nfor connectivity. This is most commonly obtained as part of the Oracle Instant Client.\n\nIt is known to work with Oracle 10, 11, and 12, and has been mostly tested on Linux, but should also work on OS X and\nWindows 7+\n\n\n# Basic installation\n\n(See INSTALL.md for complete instructions for your platform.)\n\n* Prerequisites:\n * Python 2.7 (*not* v3.x), used by node-gyp\n * C++ Compiler toolchain (GCC, Visual Studio or similar)\n* Download the latest Oracle Instant Client Basic and SDK, and extract to the same directory.\n* Set environment variables:\n\n\t```\nOCI_LIB_DIR=/path/to/instant_client\nOCI_INCLUDE_DIR=/path/to/instant_client/sdk/include\nOCI_VERSION=<10, 11, or 12> # Integer. Optional, defaults to \'11\'\nNLS_LANG=.UTF8 # Optional, but required to support international characters\n\t```\n* Create symlinks for libclntsh and libocci in the Instant Client directory (see INSTALL.md)\n* (Linux) Install libaio\n* Configure the dynamic library path on your platform to include $OCI_LIB_DIR (see INSTALL.md)\n* `npm install oracle` to get the latest from npmjs.org\n\n\n# Examples\n\n### Basic example\n\n```javascript\nvar oracle = require(\'oracle\');\n\nvar connectData = {\n\thostname: "localhost",\n\tport: 1521,\n\tdatabase: "xe", // System ID (SID)\n\tuser: "oracle",\n\tpassword: "oracle"\n}\n\noracle.connect(connectData, function(err, connection) {\n\tif (err) { console.log("Error connecting to db:", err); return; }\n\n\tconnection.execute("SELECT systimestamp FROM dual", [], function(err, results) {\n\t\tif (err) { console.log("Error executing query:", err); return; }\n\n\t\tconsole.log(results);\n\t\tconnection.close(); // call only when query is finished executing\n\t});\n});\n```\n\n### Alternative connection using TNS\nReplace the `connectData` object above with one of the following.\n\nWithout tnsnames.ora file:\n\n```javascript\nvar connString = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xe)))";\nvar connectData = { "tns": connString, "user": "test", "password": "test" };\n```\nWith tnsnames.ora file:\n\n```text\nDEV =\n\t(DESCRIPTION =\n\t\t(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))\n\t\t(CONNECT_DATA =\n\t\t\t(SERVER = DEDICATED)\n\t\t\t(SERVICE_NAME = orcl)\n\t\t)\n\t)\n```\n\n```javascript\nvar connectData = { "tns": "DEV", "user": "test", "password": "test" };\n```\n\n### Connection options\n\nThe following options can be set on the connection:\n\n* `connection.setAutoCommit(true/false);`\n* `connection.setPrefetchRowCount(count);` Should improve performance with large result sets\n\n### Out Params\nFollowing the basic example above, a query using a return parameter looks like this:\n\n```javascript\n\t...\n\tconnection.execute(\n\t\t"INSERT INTO person (name) VALUES (:1) RETURNING id INTO :2",\n\t\t[\'joe ferner\', new oracle.OutParam()],\n\t\tfunction(err, results) {\n\t\t\tif ( err ) { ... } \n\t\t\t// results.updateCount = 1\n\t\t\t// results.returnParam = the id of the person just inserted\n\t\t\tconnection.close();\n\t\t}\n\t);\n\t...\n```\n\nThe following OUT Params are supported in Stored Procedures:\n\n* `OCCIINT`\n* `OCCISTRING`\n* `OCCIDOUBLE`\n* `OCCIFLOAT`\n* `OCCICURSOR`\n* `OCCICLOB`\n* `OCCIDATE`\n* `OCCITIMESTAMP`\n* `OCCINUMBER`\n* `OCCIBLOB`\n\nSpecify the return type in the OutParam() constructor:\n\n```javascript\nconnection.execute("call myProc(:1,:2)", ["nodejs", new oracle.OutParam(oracle.OCCISTRING)], ...\n```\n\nWhen using `OCCISTRING`, the size can optionally be specified (default is 200 chars):\n\n```javascript\nconnection.execute("call myProc(:1,:2)", ["nodejs", new oracle.OutParam(oracle.OCCISTRING, {size: 1000})], ...\n```\nSee tests for more examples.\n\n### In/Out Params\nThe following INOUT param types are supported:\n\n* `OCCIINT`\n* `OCCISTRING`\n* `OCCIDOUBLE`\n* `OCCIFLOAT`\n* `OCCINUMBER`\n\nINOUT params are used like normal OUT params, with the optional \'in\' paramater value being passed in the options object:\n\n```javascript\nconnection.execute("call myProc(:1)", [new oracle.OutParam(oracle.OCCIINT, {in: 42})], ...\n```\n\n### Validate connection\nTo validate whether the connection is still established after some time:\n\n```javascript\nif (!connection.isConnected()) {\n\t// Do something like retire this connection from a pool\n}\n```\n\n### Dates\nFor DATE and TIMESTAMP types, the driver uses the UTC methods from the Javascript Date object. This means the DATE\nvalue stored will match the value of `new Date().toISOString()` on your client machine. Consider this example\nfor a client machine in "GMT-0700":\n\nTable schema:\n\n```sql\nCREATE TABLE date_test (mydate DATE)\n```\n\nJavascript code:\n\n```javascript\n...\n\tvar date = new Date(2013, 11, 24, 18, 0, 1); // Client timezone dependent\n\tconsole.log(date.toString()); // Tue Dec 24 2013 18:00:01 GMT-0700 (MST)\n\tconsole.log(date.toISOString()); // 2013-12-25T01:00:01.000Z\n\n\tconnection.execute(\n\t\t"INSERT INTO date_test (mydate) VALUES (:1) " +\n\t\t\t"RETURNING mydate, to_char(mydate, \'YYYY-MM-DD HH24:MI:SS\') INTO :2, :3",\n\t\t[date, new oracle.OutParam(oracle.OCCIDATE), new oracle.OutParam(oracle.OCCISTRING)],\n\t\tfunction(err, results) {\n\t\t\tconsole.log(results.returnParam.toString()); // Tue Dec 24 2013 18:00:01 GMT-0700 (MST)\n\t\t\tconsole.log(results.returnParam1); // 2013-12-25 01:00:01\n\t\t}\n\t);\n...\n```\n\n### Querying large tables\n\nTo query large tables you should use a _reader_:\n\n* `reader = connection.reader(sql, args)`: creates a reader\n* `reader.nextRow(callback)`: returns the next row through the callback\n* `reader.nextRows(count, callback)` returns the next `count` rows through the callback. `count` is optional and `nextRows` uses the prefetch row count when `count` is omitted.\n* `connection.setPrefetchRowCount(count)`: configures the prefetch row count for the connection. Prefetching can have a dramatic impact on performance but uses more memory. \n\nExample:\n\n```javascript\nconnection.setPrefetchRowCount(50);\nvar reader = connection.reader("SELECT * FROM auditlogs", []);\n\nfunction doRead(cb) {\n\treader.nextRow(function(err, row) {\n\t\tif (err) return cb(err);\n\t\tif (row) {\n\t\t\t// do something with row\n\t\t\tconsole.log("got " + JSON.stringify(row));\n\t\t\t// recurse to read next record\n\t\t\treturn doRead(cb)\n\t\t} else {\n\t\t\t// we are done\n\t\t\treturn cb();\n\t\t}\n\t})\n}\n\ndoRead(function(err) {\n\tif (err) throw err; // or log it\n\tconsole.log("all records processed");\n});\n```\n\n### Large inserts or updates\n\nTo insert or update a large number of records you should use _prepared statements_ rather than individual `execute` calls on the connection object:\n\n* `statement = connection.prepare(sql)`: creates a prepared statement.\n* `statement.execute(args, callback)`: executes the prepared statement with the values in `args`. You can call this repeatedly on the same `statement`.\n\nExample:\n\n```javascript\n\nfunction doInsert(stmt, records, cb) {\n\tif (records.length > 0) {\n\t\tstmt.execute([records.shift()], function(err, count) {\n\t\t\tif (err) return cb(err);\n\t\t\tif (count !== 1) return cb(new Error("bad count: " + count));\n\t\t\t// recurse with remaining records\n\t\t\tdoInsert(stmt, records, cb);\n\t\t});\n\t} else {\n\t\t// we are done\n\t\treturn cb();\n\t}\n}\n\nvar statement = connection.prepare("INSERT INTO users (id, firstName, lastName) VALUES (:1, :2, :3)");\ndoInsert(statement, users, function(err) {\n\tif (err) throw err; // or log it\n\tconsole.log("all records inserted");\t\n});\n```\n\n# Limitations/Caveats\n\n* Currently no native support for connection pooling (forthcoming; use generic-pool for now.)\n* Currently no support for column type "Timestamp With Timezone" (Issue #67)\n* While the Oracle TIMESTAMP type provides fractional seconds up to 9 digits (nanoseconds), this will be rounded\n to the nearest millisecond when converted to a Javascript date (a _data loss_).\n\n# Development\n* Clone the source repo\n* Follow the installation instructions to prepare your environment (using Oracle Instant Client)\n* Run `npm install` or `npm test` in the root of the source directory\n* Point to an Oracle instance of your choice. The free Oracle Express edition works well:\n * Oracle Express 11g: http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.htmlDownload\n* Debugging:\n * Compile node with debug symbols\n * Use gdb/ddd or another C++ debugger to step through\n', 39 silly resolved readmeFilename: 'README.md', 39 silly resolved _id: '[email protected]', 39 silly resolved _from: 'oracle@' } ] 40 info install [email protected] into C:\TRIVIA 41 info installOne [email protected] 42 info C:\TRIVIA\node_modules\oracle unbuild 43 verbose tar unpack C:\Users\Mezzarine\AppData\Roaming\npm-cache\oracle\0.3.6\package.tgz 44 silly lockFile 6c3b0595-tar-C-TRIVIA-node-modules-oracle tar://C:\TRIVIA\node_modules\oracle 45 verbose lock tar://C:\TRIVIA\node_modules\oracle C:\Users\Mezzarine\AppData\Roaming\npm-cache\6c3b0595-tar-C-TRIVIA-node-modules-oracle.lock 46 silly lockFile 184b2831-m-cache-oracle-0-3-6-package-tgz tar://C:\Users\Mezzarine\AppData\Roaming\npm-cache\oracle\0.3.6\package.tgz 47 verbose lock tar://C:\Users\Mezzarine\AppData\Roaming\npm-cache\oracle\0.3.6\package.tgz C:\Users\Mezzarine\AppData\Roaming\npm-cache\184b2831-m-cache-oracle-0-3-6-package-tgz.lock 48 silly gunzTarPerm modes [ '755', '644' ] 49 silly gunzTarPerm extractEntry package.json 50 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ] 51 silly gunzTarPerm extractEntry .npmignore 52 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ] 53 silly gunzTarPerm extractEntry README.md 54 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ] 55 silly gunzTarPerm extractEntry LICENSE 56 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ] 57 silly gunzTarPerm extractEntry index.js 58 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ] 59 silly gunzTarPerm extractEntry lib/oracle.js 60 silly gunzTarPerm modified mode [ 'lib/oracle.js', 438, 420 ] 61 silly gunzTarPerm extractEntry binding.gyp 62 silly gunzTarPerm modified mode [ 'binding.gyp', 438, 420 ] 63 silly gunzTarPerm extractEntry INSTALL.md 64 silly gunzTarPerm modified mode [ 'INSTALL.md', 438, 420 ] 65 silly gunzTarPerm extractEntry src/outParam.h 66 silly gunzTarPerm modified mode [ 'src/outParam.h', 438, 420 ] 67 silly gunzTarPerm extractEntry src/commitBaton.h 68 silly gunzTarPerm modified mode [ 'src/commitBaton.h', 438, 420 ] 69 silly gunzTarPerm extractEntry src/connection.h 70 silly gunzTarPerm modified mode [ 'src/connection.h', 438, 420 ] 71 silly gunzTarPerm extractEntry src/executeBaton.cpp 72 silly gunzTarPerm modified mode [ 'src/executeBaton.cpp', 438, 420 ] 73 silly gunzTarPerm extractEntry src/executeBaton.h 74 silly gunzTarPerm modified mode [ 'src/executeBaton.h', 438, 420 ] 75 silly gunzTarPerm extractEntry src/nodeOracleException.h 76 silly gunzTarPerm modified mode [ 'src/nodeOracleException.h', 438, 420 ] 77 silly gunzTarPerm extractEntry src/oracle_bindings.cpp 78 silly gunzTarPerm modified mode [ 'src/oracle_bindings.cpp', 438, 420 ] 79 silly gunzTarPerm extractEntry src/oracle_bindings.h 80 silly gunzTarPerm modified mode [ 'src/oracle_bindings.h', 438, 420 ] 81 silly gunzTarPerm extractEntry src/outParam.cpp 82 silly gunzTarPerm modified mode [ 'src/outParam.cpp', 438, 420 ] 83 silly gunzTarPerm extractEntry src/connection.cpp 84 silly gunzTarPerm modified mode [ 'src/connection.cpp', 438, 420 ] 85 silly gunzTarPerm extractEntry src/reader.cpp 86 silly gunzTarPerm modified mode [ 'src/reader.cpp', 438, 420 ] 87 silly gunzTarPerm extractEntry src/reader.h 88 silly gunzTarPerm modified mode [ 'src/reader.h', 438, 420 ] 89 silly gunzTarPerm extractEntry src/readerBaton.h 90 silly gunzTarPerm modified mode [ 'src/readerBaton.h', 438, 420 ] 91 silly gunzTarPerm extractEntry src/rollbackBaton.h 92 silly gunzTarPerm modified mode [ 'src/rollbackBaton.h', 438, 420 ] 93 silly gunzTarPerm extractEntry src/statement.cpp 94 silly gunzTarPerm modified mode [ 'src/statement.cpp', 438, 420 ] 95 silly gunzTarPerm extractEntry src/statement.h 96 silly gunzTarPerm modified mode [ 'src/statement.h', 438, 420 ] 97 silly gunzTarPerm extractEntry src/statementBaton.h 98 silly gunzTarPerm modified mode [ 'src/statementBaton.h', 438, 420 ] 99 silly gunzTarPerm extractEntry src/utils.h 100 silly gunzTarPerm modified mode [ 'src/utils.h', 438, 420 ] 101 silly gunzTarPerm extractEntry test/integration.js 102 silly gunzTarPerm modified mode [ 'test/integration.js', 438, 420 ] 103 silly gunzTarPerm extractEntry test/outparams.js 104 silly gunzTarPerm modified mode [ 'test/outparams.js', 438, 420 ] 105 silly gunzTarPerm extractEntry test/prepare.js 106 silly gunzTarPerm modified mode [ 'test/prepare.js', 438, 420 ] 107 silly gunzTarPerm extractEntry test/reader.js 108 silly gunzTarPerm modified mode [ 'test/reader.js', 438, 420 ] 109 silly gunzTarPerm extractEntry tests-settings.json 110 silly gunzTarPerm modified mode [ 'tests-settings.json', 438, 420 ] 111 silly lockFile 6c3b0595-tar-C-TRIVIA-node-modules-oracle tar://C:\TRIVIA\node_modules\oracle 112 silly lockFile 6c3b0595-tar-C-TRIVIA-node-modules-oracle tar://C:\TRIVIA\node_modules\oracle 113 silly lockFile 184b2831-m-cache-oracle-0-3-6-package-tgz tar://C:\Users\Mezzarine\AppData\Roaming\npm-cache\oracle\0.3.6\package.tgz 114 silly lockFile 184b2831-m-cache-oracle-0-3-6-package-tgz tar://C:\Users\Mezzarine\AppData\Roaming\npm-cache\oracle\0.3.6\package.tgz 115 info preinstall [email protected] 116 verbose readDependencies using package.json deps 117 verbose readDependencies using package.json deps 118 silly resolved [] 119 verbose about to build C:\TRIVIA\node_modules\oracle 120 info build C:\TRIVIA\node_modules\oracle 121 verbose linkStuff [ false, false, false, 'C:\\TRIVIA\\node_modules' ] 122 info linkStuff [email protected] 123 verbose linkBins [email protected] 124 verbose linkMans [email protected] 125 verbose rebuildBundles [email protected] 126 info install [email protected] 127 verbose unsafe-perm in lifecycle true 128 info [email protected] Failed to exec install script 129 info C:\TRIVIA\node_modules\oracle unbuild 130 info preuninstall [email protected] 131 info uninstall [email protected] 132 verbose true,C:\TRIVIA\node_modules,C:\TRIVIA\node_modules unbuild [email protected] 133 info postuninstall [email protected] 134 error [email protected] install: `node-gyp rebuild` 134 error Exit status 1 135 error Failed at the [email protected] install script. 135 error This is most likely a problem with the oracle package, 135 error not with npm itself. 135 error Tell the author that this fails on your system: 135 error node-gyp rebuild 135 error You can get their info via: 135 error npm owner ls oracle 135 error There is likely additional logging output above. 136 error System Windows_NT 6.1.7601 137 error command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "oracle" 138 error cwd C:\TRIVIA 139 error node -v v0.10.25 140 error npm -v 1.3.24 141 error code ELIFECYCLE 142 verbose exit [ 1, true ]

使用以下过程以了解为什么:

npm-cli.js install oracle
引起此警告:
node.js oracle-database debugging installation npm
1个回答
0
投票
No repository field

开机
看起来

package.json

检查值,该值指示版本
    to注册表:
  • Https://registry.npmjs.org/oracle/
    
    
  • 请参阅是否有版本在那里
  • 如果不是,请检查最新:
    Https://registry.npmjs.org/oracle/latest
  • 副本最新版本编号为
  • oracle
  • retry
  • package.json
  • 记者:
  • 包装中最重要的事情。JSON是名称和版本字段。这些实际上是必需的,没有它们,您的包装就不会安装。名称和版本一起形成了一个被认为是完全唯一的标识符。软件包的更改应随着版本的更改而随附。
  • 参考
  • NPM包装的特定措施。
    NODE软件包管理器

emerver:NPM

使用的语义版本解析器 pereper依赖关系

trone使用lib oracledB进行节点

npm install oracle
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.